mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2025-01-03 10:32:33 +01:00
station: fix unintended netconfig_reset pre-roaming
Commit23f0f5717c
did not correctly handle the reassociation case where the state is set from within station_try_next_transition. If IWD reassociates netconfig will get reset and DHCP will need to be done over again after the roam. Instead get the state ahead of station_try_next_transition. Fixes:23f0f5717c
("station: allow roaming before netconfig finishes")
This commit is contained in:
parent
2c7bf2756e
commit
ccb29663cc
@ -2470,6 +2470,7 @@ static void station_transition_start(struct station *station)
|
||||
{
|
||||
struct roam_bss *rbss;
|
||||
bool roaming = false;
|
||||
bool connected = (station->state == STATION_STATE_CONNECTED);
|
||||
|
||||
/*
|
||||
* For each failed attempt pop the BSS leaving the head of the queue
|
||||
@ -2498,7 +2499,7 @@ static void station_transition_start(struct station *station)
|
||||
* still should roam in this case but need to restart netconfig once the
|
||||
* roam is finished.
|
||||
*/
|
||||
if (station->netconfig && station->state != STATION_STATE_CONNECTED) {
|
||||
if (station->netconfig && !connected) {
|
||||
netconfig_reset(station->netconfig);
|
||||
station->netconfig_after_roam = true;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user