Do not blacklist the current AP on DISABLE_NETWORK
Disconnection due to DISABLE_NETWORK while being connected was resulting in the AP getting blacklisted. Avoid this by setting own_disconnect_req on a disconnect request due to DISABLE_NETWORK similarly to the SELECT_NETWORK disconnection case. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
61af1e6618
commit
0661163eff
1 changed files with 8 additions and 2 deletions
|
@ -3149,13 +3149,19 @@ void wpa_supplicant_disable_network(struct wpa_supplicant *wpa_s,
|
||||||
wpas_notify_network_enabled_changed(
|
wpas_notify_network_enabled_changed(
|
||||||
wpa_s, other_ssid);
|
wpa_s, other_ssid);
|
||||||
}
|
}
|
||||||
if (wpa_s->current_ssid)
|
if (wpa_s->current_ssid) {
|
||||||
|
if (wpa_s->wpa_state >= WPA_AUTHENTICATING)
|
||||||
|
wpa_s->own_disconnect_req = 1;
|
||||||
wpa_supplicant_deauthenticate(
|
wpa_supplicant_deauthenticate(
|
||||||
wpa_s, WLAN_REASON_DEAUTH_LEAVING);
|
wpa_s, WLAN_REASON_DEAUTH_LEAVING);
|
||||||
|
}
|
||||||
} else if (ssid->disabled != 2) {
|
} else if (ssid->disabled != 2) {
|
||||||
if (ssid == wpa_s->current_ssid)
|
if (ssid == wpa_s->current_ssid) {
|
||||||
|
if (wpa_s->wpa_state >= WPA_AUTHENTICATING)
|
||||||
|
wpa_s->own_disconnect_req = 1;
|
||||||
wpa_supplicant_deauthenticate(
|
wpa_supplicant_deauthenticate(
|
||||||
wpa_s, WLAN_REASON_DEAUTH_LEAVING);
|
wpa_s, WLAN_REASON_DEAUTH_LEAVING);
|
||||||
|
}
|
||||||
|
|
||||||
was_disabled = ssid->disabled;
|
was_disabled = ssid->disabled;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue