From 8f2cf379233bf4e8fc5580c7a03858a7b5581368 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Thu, 8 Jan 2015 22:13:17 +0200 Subject: [PATCH] P2P: Indicate reason=UNAVAILABLE for group netdev going down There is a race condition between receiving an AP stopped event and netdev down event. These resulted in different group removal reasons on a GO device (UNAVAILABLE for stop AP event coming first and REQUESTED for netdev event first). Make this more consistent by reporting UNAVAILABLE for both possible cases. Signed-off-by: Jouni Malinen --- wpa_supplicant/events.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c index 983c2ced5..3c295c866 100644 --- a/wpa_supplicant/events.c +++ b/wpa_supplicant/events.c @@ -3400,7 +3400,11 @@ void wpa_supplicant_event(void *ctx, enum wpa_event_type event, * it assuming an external entity will start a * new session if needed. */ - wpas_p2p_disconnect(wpa_s); + if (wpa_s->current_ssid && + wpa_s->current_ssid->p2p_group) + wpas_p2p_interface_unavailable(wpa_s); + else + wpas_p2p_disconnect(wpa_s); break; } if (wpa_s->p2p_scan_work && wpa_s->global->p2p &&