]> www.infradead.org Git - users/dwmw2/linux.git/commit
wifi: mac80211: fix a queue stall in certain cases of CSA
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Tue, 19 Nov 2024 15:35:40 +0000 (17:35 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 3 Dec 2024 10:28:34 +0000 (11:28 +0100)
commit11ac0d7c3b5ba58232fb7dacb54371cbe75ec183
tree1c63095ba94eb2ef155f163dbb9819000344e8c9
parent220bf000530f9b1114fa2a1022a871c7ce8a0b38
wifi: mac80211: fix a queue stall in certain cases of CSA

If we got an unprotected action frame with CSA and then we heard the
beacon with the CSA IE, we'll block the queues with the CSA reason
twice. Since this reason is refcounted, we won't wake up the queues
since we wake them up only once and the ref count will never reach 0.
This led to blocked queues that prevented any activity (even
disconnection wouldn't reset the queue state and the only way to recover
would be to reload the kernel module.

Fix this by not refcounting the CSA reason.
It becomes now pointless to maintain the csa_blocked_queues state.
Remove it.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Fixes: 414e090bc41d ("wifi: mac80211: restrict public action ECSA frame handling")
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=219447
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20241119173108.5ea90828c2cc.I4f89e58572fb71ae48e47a81e74595cac410fbac@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c
include/net/mac80211.h
net/mac80211/cfg.c
net/mac80211/ieee80211_i.h
net/mac80211/iface.c
net/mac80211/mlme.c
net/mac80211/util.c