SME: Fix processing of Authentication timeout and failure
current_bss and pending_bssid weren't cleaned up so BSS kept appearing in the scan results even when it was actually gone. Use wpa_supplicant_mark_disassoc() to cleanup the wpa_s context instead of just dropping wpa_state back to DISCONNECTED. Reported-by: Vishal Mahaveer <vishalm@ti.com> Signed-hostap: Eyal Shapira <eyal@wizery.com>
This commit is contained in:
parent
b3aa456b3e
commit
1193dc8fd7
1 changed files with 2 additions and 2 deletions
|
@ -265,8 +265,8 @@ void sme_authenticate(struct wpa_supplicant *wpa_s,
|
||||||
if (wpa_drv_authenticate(wpa_s, ¶ms) < 0) {
|
if (wpa_drv_authenticate(wpa_s, ¶ms) < 0) {
|
||||||
wpa_msg(wpa_s, MSG_INFO, "SME: Authentication request to the "
|
wpa_msg(wpa_s, MSG_INFO, "SME: Authentication request to the "
|
||||||
"driver failed");
|
"driver failed");
|
||||||
wpa_supplicant_set_state(wpa_s, WPA_DISCONNECTED);
|
|
||||||
wpas_connection_failed(wpa_s, bss->bssid);
|
wpas_connection_failed(wpa_s, bss->bssid);
|
||||||
|
wpa_supplicant_mark_disassoc(wpa_s);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -503,8 +503,8 @@ void sme_event_auth_timed_out(struct wpa_supplicant *wpa_s,
|
||||||
union wpa_event_data *data)
|
union wpa_event_data *data)
|
||||||
{
|
{
|
||||||
wpa_dbg(wpa_s, MSG_DEBUG, "SME: Authentication timed out");
|
wpa_dbg(wpa_s, MSG_DEBUG, "SME: Authentication timed out");
|
||||||
wpa_supplicant_set_state(wpa_s, WPA_DISCONNECTED);
|
|
||||||
wpas_connection_failed(wpa_s, wpa_s->pending_bssid);
|
wpas_connection_failed(wpa_s, wpa_s->pending_bssid);
|
||||||
|
wpa_supplicant_mark_disassoc(wpa_s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue