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 <j@w1.fi>
This commit is contained in:
Jouni Malinen 2014-04-26 16:42:45 +03:00
parent b89962b4b9
commit b7a6702fd4

View file

@ -3362,6 +3362,14 @@ void wpa_supplicant_event(void *ctx, enum wpa_event_type event,
} }
#endif /* CONFIG_P2P */ #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); wpa_supplicant_mark_disassoc(wpa_s);
radio_remove_works(wpa_s, NULL, 0); radio_remove_works(wpa_s, NULL, 0);