[PATCH 1/2] Fix radio remove works

Eduardo Abinader eduardo.abinader
Tue Mar 18 06:50:53 PDT 2014


When radio has been previously removed and pending radio works related
to an excluded interface remains, new works are not capable of being
executed. That occurs when a potential P2P client fails to negotiate
group formation. For some reason, the P2P device is no more capable
of issuing radio works. Those checks prevent this situation, by allowing
removal of previous radio works.

Signed-off-by: Eduardo Abinader <eduardo.abinader at openbossa.org>
---
 wpa_supplicant/wpa_supplicant.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
index 499dcb3..c74ac20 100644
--- a/wpa_supplicant/wpa_supplicant.c
+++ b/wpa_supplicant/wpa_supplicant.c
@@ -3176,7 +3176,8 @@ void radio_remove_works(struct wpa_supplicant *wpa_s,
 
 	dl_list_for_each_safe(work, tmp, &radio->work, struct wpa_radio_work,
 			      list) {
-		if (type && os_strcmp(type, work->type) != 0)
+		if (work->wpa_s && work->wpa_s->radio && type &&
+				os_strcmp(type, work->type) != 0)
 			continue;
 
 		/* skip other ifaces' works */
-- 
1.8.3.2




More information about the Hostap mailing list