]> www.infradead.org Git - users/jedix/linux-maple.git/commit
wifi: mac80211: change disassoc sequence a bit
authorMiri Korenblit <miriam.rachel.korenblit@intel.com>
Tue, 24 Dec 2024 17:27:30 +0000 (19:27 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 13 Jan 2025 12:53:04 +0000 (13:53 +0100)
commit687a7c8a722743526b4fe45fc75c6999990480ab
tree20b18d61e4d0e721d5117c6e09e637c1634bef13
parenta10723ced430de1b45572d84c0e4bcf5b671380c
wifi: mac80211: change disassoc sequence a bit

Currently, the sequence goes like this (among others):
1. flush all stations (including the AP ones) -> this will tell the
   drivers to remove the stations
2. notify the driver the vif is not associated.

Which means that in between 1 and 2, the state is that the vif is
associated, but there is no AP station, which makes no sense, and may be
problematic for some drivers (for example iwlwifi)

Change the sequence to:
1. flush the TDLS stations
2. move the AP station to IEEE80211_STA_NONE
3. notify the driver about the vif being unassociated
4. flush the AP station

In order to not break other drivers, add a vif flag to indicate whether
the driver wants to new sequence or not. If the flag is not set, then
things will be done in the old sequence.

Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Link: https://patch.msgid.link/20241224192322.996ad1be6cb3.I7815d33415aa1d65c0120b54be7a15a45388f807@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
drivers/net/wireless/intel/iwlwifi/mvm/mld-mac80211.c
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
include/net/mac80211.h
net/mac80211/mlme.c