From b7a6702fd47e82af0f5bb4a4444e46d3f25eaefa Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sat, 26 Apr 2014 16:42:45 +0300 Subject: [PATCH] Indicate disconnection event on interface disabled It is possible for the disconnection event from the driver to not get delivered when interface is disabled. To maintain consistent ctrl_iface event behavior, indicate CTRL-EVENT-DISCONNECTED in such a case if we were in connected state. Signed-off-by: Jouni Malinen --- wpa_supplicant/events.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c index cad0938c5..e2577bf27 100644 --- a/wpa_supplicant/events.c +++ b/wpa_supplicant/events.c @@ -3362,6 +3362,14 @@ void wpa_supplicant_event(void *ctx, enum wpa_event_type event, } #endif /* CONFIG_P2P */ + if (wpa_s->wpa_state >= WPA_AUTHENTICATING) { + /* + * Indicate disconnection to keep ctrl_iface events + * consistent. + */ + wpa_supplicant_event_disassoc( + wpa_s, WLAN_REASON_DEAUTH_LEAVING, 1); + } wpa_supplicant_mark_disassoc(wpa_s); radio_remove_works(wpa_s, NULL, 0);