mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2025-02-18 00:30:47 +01:00
station: Do not enter autoconnect_full erroneously
If a connection is initiated (via dbus) while a quick scan is in progress, the quick scan will be aborted. In this case, station_quick_scan_results will always transition to the AUTOCONNECT_FULL state regardless of whether it should or not. Fix this by making sure that we only enter AUTOCONNECT_FULL if we're still in the AUTOCONNECT_QUICK state. Reported-by: Alvin Šipraga <alsi@bang-olufsen.dk>
This commit is contained in:
parent
32a55fb75c
commit
532f6b154e
@ -1059,15 +1059,13 @@ static bool station_quick_scan_results(int err, struct l_queue *bss_list,
|
|||||||
|
|
||||||
station_property_set_scanning(station, false);
|
station_property_set_scanning(station, false);
|
||||||
|
|
||||||
if (err) {
|
if (err)
|
||||||
station_enter_state(station, STATION_STATE_AUTOCONNECT_FULL);
|
goto done;
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
autoconnect = station_is_autoconnecting(station);
|
autoconnect = station_is_autoconnecting(station);
|
||||||
station_set_scan_results(station, bss_list, autoconnect);
|
station_set_scan_results(station, bss_list, autoconnect);
|
||||||
|
|
||||||
|
done:
|
||||||
if (station->state == STATION_STATE_AUTOCONNECT_QUICK)
|
if (station->state == STATION_STATE_AUTOCONNECT_QUICK)
|
||||||
/*
|
/*
|
||||||
* If we're still in AUTOCONNECT_QUICK state, then autoconnect
|
* If we're still in AUTOCONNECT_QUICK state, then autoconnect
|
||||||
@ -1075,7 +1073,7 @@ static bool station_quick_scan_results(int err, struct l_queue *bss_list,
|
|||||||
*/
|
*/
|
||||||
station_enter_state(station, STATION_STATE_AUTOCONNECT_FULL);
|
station_enter_state(station, STATION_STATE_AUTOCONNECT_FULL);
|
||||||
|
|
||||||
return true;
|
return err == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void station_quick_scan_triggered(int err, void *user_data)
|
static void station_quick_scan_triggered(int err, void *user_data)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user