Fix ENABLE_NETWORK not to reconnect in disconnected state
DISCONNECT followed by ENABLE_NETWORK ended up starting a scan for a new connection due to wpa_supplicant_enable_one_network() setting wpa_s->reassociate = 1. This was done regardless of wpa_s->disconnected being 1 which should imply that wpa_supplicant should not try to connect before asked explicitly with REASSOCIATE or RECONNECT. Fix this by making ENABLE_NETWORK setting of reassociate = 1 and starting of scans for connection conditional on wpa_s->disconnected == 0. This will make ENABLE_NETWORK trigger a connection only if wpa_supplicant is already in a state where it would try to connect if there are any enabled networks. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
677cf19091
commit
d259249762
1 changed files with 2 additions and 2 deletions
|
@ -1798,7 +1798,7 @@ static void wpa_supplicant_enable_one_network(struct wpa_supplicant *wpa_s,
|
||||||
* Try to reassociate since there is no current configuration and a new
|
* Try to reassociate since there is no current configuration and a new
|
||||||
* network was made available.
|
* network was made available.
|
||||||
*/
|
*/
|
||||||
if (!wpa_s->current_ssid)
|
if (!wpa_s->current_ssid && !wpa_s->disconnected)
|
||||||
wpa_s->reassociate = 1;
|
wpa_s->reassociate = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1819,7 +1819,7 @@ void wpa_supplicant_enable_network(struct wpa_supplicant *wpa_s,
|
||||||
} else
|
} else
|
||||||
wpa_supplicant_enable_one_network(wpa_s, ssid);
|
wpa_supplicant_enable_one_network(wpa_s, ssid);
|
||||||
|
|
||||||
if (wpa_s->reassociate) {
|
if (wpa_s->reassociate && !wpa_s->disconnected) {
|
||||||
if (wpa_s->sched_scanning) {
|
if (wpa_s->sched_scanning) {
|
||||||
wpa_printf(MSG_DEBUG, "Stop ongoing sched_scan to add "
|
wpa_printf(MSG_DEBUG, "Stop ongoing sched_scan to add "
|
||||||
"new network to scan filters");
|
"new network to scan filters");
|
||||||
|
|
Loading…
Reference in a new issue