Remove pending connect and sme-connect radio works on disconnect
There was a race condition in a case where a new connection attempt was scheduled as a pending radio work and that was followed by a DISCONNECT command before the pending radio work is started. The pending radio work would not have been deleted in that sequence and instead, it was executed when the radio became available next. This could result in an unexpected connection after an explicit request to disconnect. Fix this by removing pending connect and sme-connect radio works on disconnection request. Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
This commit is contained in:
parent
a8b8da1132
commit
f5db775049
1 changed files with 2 additions and 0 deletions
|
@ -7075,6 +7075,8 @@ void wpas_request_disconnection(struct wpa_supplicant *wpa_s)
|
||||||
wpa_supplicant_cancel_scan(wpa_s);
|
wpa_supplicant_cancel_scan(wpa_s);
|
||||||
wpa_supplicant_deauthenticate(wpa_s, WLAN_REASON_DEAUTH_LEAVING);
|
wpa_supplicant_deauthenticate(wpa_s, WLAN_REASON_DEAUTH_LEAVING);
|
||||||
eloop_cancel_timeout(wpas_network_reenabled, wpa_s, NULL);
|
eloop_cancel_timeout(wpas_network_reenabled, wpa_s, NULL);
|
||||||
|
radio_remove_works(wpa_s, "connect", 0);
|
||||||
|
radio_remove_works(wpa_s, "sme-connect", 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue