mac80211: do drv_reconfig_complete() before restarting all
authorJohannes Berg <johannes.berg@intel.com>
Mon, 29 Nov 2021 13:32:40 +0000 (15:32 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 14 Dec 2021 10:22:20 +0000 (11:22 +0100)
commit13dee10b30c058ee2c58c5da00339cc0d4201aa6
tree3757e094fca581bf6bce5c96b3773cdc1a81ad7b
parentdb7205af049d230e7e0abf61c1e74c1aab40f390
mac80211: do drv_reconfig_complete() before restarting all

When we reconfigure, the driver might do some things to complete
the reconfiguration. It's strange and could be broken in some
cases because we restart other works (e.g. remain-on-channel and
TX) before this happens, yet only start queues later.

Change this to do the reconfig complete when reconfiguration is
actually complete, not when we've already started doing other
things again.

For iwlwifi, this should fix a race where the reconfig can race
with TX, for ath10k and ath11k that also use this it won't make
a difference because they just start queues there, and mac80211
also stopped the queues and will restart them later as before.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20211129152938.cab99f22fe19.Iefe494687f15fd85f77c1b989d1149c8efdfdc36@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/util.c