mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-11-22 14:49:24 +01:00
station: handle ROAMING state in disconnect event
This both adds proper handling to the new roaming logic and fixes a potential bug with firmware roams. The new way roaming works doesn't use a connect callback. This means that any disconnect event or call to netdev_connect_failed will result in the event handler being called, where before the connect callback would. This means we need to handle the ROAMING state in the station disconnect event so IWD properly disassociates and station goes out of ROAMING. With firmware roams netdev gets an event which transitions station into ROAMING. Then netdev issues GET_SCAN. During this time a disconnect event could come in which would end up in station_disconnect_event since there is no connect callback. This needs to be handled the same and let IWD transition out of the ROAMING state.
This commit is contained in:
parent
5181d20986
commit
8758cc8948
@ -3172,6 +3172,7 @@ static void station_disconnect_event(struct station *station, void *event_data)
|
|||||||
event_data, station);
|
event_data, station);
|
||||||
return;
|
return;
|
||||||
case STATION_STATE_CONNECTED:
|
case STATION_STATE_CONNECTED:
|
||||||
|
case STATION_STATE_ROAMING:
|
||||||
station_disassociated(station);
|
station_disassociated(station);
|
||||||
return;
|
return;
|
||||||
default:
|
default:
|
||||||
|
Loading…
Reference in New Issue
Block a user