Only try fast reconnect if network is not disabled
Previously, it would have been possible for the network to be marked disabled and that marking to be ignored if a recoverable disconnection reason event were processed. Avoid this by verifying network status before trying to reconenct back to the same BSS. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
12c587a517
commit
eef7235da1
1 changed files with 14 additions and 1 deletions
|
@ -2182,7 +2182,12 @@ static void wpa_supplicant_event_disassoc_finish(struct wpa_supplicant *wpa_s,
|
||||||
wpa_s->current_ssid = last_ssid;
|
wpa_s->current_ssid = last_ssid;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fast_reconnect) {
|
if (fast_reconnect &&
|
||||||
|
!wpas_network_disabled(wpa_s, fast_reconnect_ssid) &&
|
||||||
|
!disallowed_bssid(wpa_s, fast_reconnect->bssid) &&
|
||||||
|
!disallowed_ssid(wpa_s, fast_reconnect->ssid,
|
||||||
|
fast_reconnect->ssid_len) &&
|
||||||
|
!wpas_temp_disabled(wpa_s, fast_reconnect_ssid)) {
|
||||||
#ifndef CONFIG_NO_SCAN_PROCESSING
|
#ifndef CONFIG_NO_SCAN_PROCESSING
|
||||||
wpa_dbg(wpa_s, MSG_DEBUG, "Try to reconnect to the same BSS");
|
wpa_dbg(wpa_s, MSG_DEBUG, "Try to reconnect to the same BSS");
|
||||||
if (wpa_supplicant_connect(wpa_s, fast_reconnect,
|
if (wpa_supplicant_connect(wpa_s, fast_reconnect,
|
||||||
|
@ -2191,6 +2196,14 @@ static void wpa_supplicant_event_disassoc_finish(struct wpa_supplicant *wpa_s,
|
||||||
wpa_supplicant_req_scan(wpa_s, 0, 100000);
|
wpa_supplicant_req_scan(wpa_s, 0, 100000);
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_NO_SCAN_PROCESSING */
|
#endif /* CONFIG_NO_SCAN_PROCESSING */
|
||||||
|
} else if (fast_reconnect) {
|
||||||
|
/*
|
||||||
|
* Could not reconnect to the same BSS due to network being
|
||||||
|
* disabled. Use a new scan to match the alternative behavior
|
||||||
|
* above, i.e., to continue automatic reconnection attempt in a
|
||||||
|
* way that enforces disabled network rules.
|
||||||
|
*/
|
||||||
|
wpa_supplicant_req_scan(wpa_s, 0, 100000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue