linux-stable/net/mac80211
Emmanuel Grumbach 11ac0d7c3b 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: 414e090bc4 ("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>
2024-12-03 11:28:34 +01:00
..
tests wifi: mac80211: pass parsed TPE data to drivers 2024-05-23 10:35:04 +02:00
aead_api.c mac80211: Check crypto_aead_encrypt for errors 2021-03-16 21:20:41 +01:00
aead_api.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
aes_ccm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
aes_cmac.c mac80211: aes_cmac: check crypto_shash_setkey() return value 2021-04-19 12:01:40 +02:00
aes_cmac.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
aes_gcm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
aes_gmac.c mac80211: Check crypto_aead_encrypt for errors 2021-03-16 21:20:41 +01:00
aes_gmac.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
agg-rx.c wifi: mac80211: Support EHT 1024 aggregation size in TX 2024-11-12 13:41:45 +01:00
agg-tx.c wifi: mac80211: Support EHT 1024 aggregation size in TX 2024-11-12 13:41:45 +01:00
airtime.c wifi: mac80211: introduce EHT rate support in AQL airtime 2024-09-06 12:58:36 +02:00
cfg.c wifi: mac80211: fix a queue stall in certain cases of CSA 2024-12-03 11:28:34 +01:00
chan.c wifi: mac80211: add flag to opt out of virtual monitor support 2024-10-23 16:45:43 +02:00
debug.h wifi: mac80211: fix mlme_link_id_dbg() 2024-03-25 15:22:53 +01:00
debugfs_key.c wifi: mac80211: convert debugfs files to short fops 2024-10-23 16:47:07 +02:00
debugfs_key.h mac80211: Support BIGTK configuration for Beacon protection 2020-02-24 10:35:57 +01:00
debugfs_netdev.c wifi: mac80211: convert debugfs files to short fops 2024-10-23 16:47:07 +02:00
debugfs_netdev.h wifi: mac80211: fix driver debugfs for vif type change 2024-02-02 13:09:55 +01:00
debugfs_sta.c wifi: mac80211: convert debugfs files to short fops 2024-10-23 16:47:07 +02:00
debugfs_sta.h wifi: mac80211: add API to show the link STAs in debugfs 2022-10-07 15:23:41 +02:00
debugfs.c wifi: mac80211: convert debugfs files to short fops 2024-10-23 16:47:07 +02:00
debugfs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
driver-ops.c wifi: mac80211: add flag to opt out of virtual monitor support 2024-10-23 16:45:43 +02:00
driver-ops.h wifi: mac80211: call rate_control_rate_update() for link STA 2024-10-23 16:43:27 +02:00
drop.h wifi: mac80211: improve drop for action frame return 2024-03-25 15:39:28 +01:00
eht.c wifi: mac80211: parse A-MSDU len from EHT capabilities 2024-10-23 16:43:29 +02:00
ethtool.c wifi: mac80211: ethtool: always hold wiphy mutex 2023-09-25 09:00:39 +02:00
fils_aead.c wifi: mac80211: Do not include crypto/algapi.h 2023-08-24 08:42:36 +02:00
fils_aead.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
he.c wifi: mac80211: correctly parse Spatial Reuse Parameter Set element 2024-05-29 15:35:12 +02:00
ht.c wifi: mac80211: Support EHT 1024 aggregation size in TX 2024-11-12 13:41:45 +01:00
ibss.c wifi: mac80211: call rate_control_rate_update() for link STA 2024-10-23 16:43:27 +02:00
ieee80211_i.h wifi: mac80211: fix a queue stall in certain cases of CSA 2024-12-03 11:28:34 +01:00
iface.c wifi: mac80211: fix a queue stall in certain cases of CSA 2024-12-03 11:28:34 +01:00
Kconfig mac80211: MAC80211_MESSAGE_TRACING should depend on TRACING 2024-10-08 21:14:57 +02:00
key.c wireless fixes for v6.12-rc5 2024-10-25 10:44:41 +01:00
key.h wifi: mac80211: remove key_mtx 2023-09-11 11:27:22 +02:00
led.c leds: Change led_trigger_blink[_oneshot]() delay parameters to pass-by-value 2023-05-25 12:16:27 +01:00
led.h leds: Change led_trigger_blink[_oneshot]() delay parameters to pass-by-value 2023-05-25 12:16:27 +01:00
link.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-10-31 18:10:07 -07:00
main.c mac80211: fix user-power when emulating chanctx 2024-10-25 17:53:38 +02:00
Makefile wifi: mac80211: move element parsing to a new file 2024-02-08 15:00:43 +01:00
mesh_hwmp.c Merge net-next/main to resolve conflicts 2024-10-09 08:59:22 +02:00
mesh_pathtbl.c mac80211: Reorganize kerneldoc parameter names 2024-10-08 21:52:13 +02:00
mesh_plink.c wifi: mac80211: call rate_control_rate_update() for link STA 2024-10-23 16:43:27 +02:00
mesh_ps.c wifi: mac80211: mesh: fix some kdoc warnings 2023-10-23 11:43:27 +02:00
mesh_sync.c wifi: mac80211, cfg80211: miscellaneous spelling fixes 2024-10-08 21:52:09 +02:00
mesh.c wifi: mac80211: fix mbss changed flags corruption on 32 bit systems 2024-12-03 11:26:43 +01:00
mesh.h wifi: mac80211: split mesh fast tx cache into local/proxied/forwarded 2024-04-17 09:21:32 +02:00
michael.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
michael.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mlme.c wifi: mac80211: fix a queue stall in certain cases of CSA 2024-12-03 11:28:34 +01:00
ocb.c wifi: mac80211: allow rate_control_rate_init() for links 2024-10-23 16:43:23 +02:00
offchannel.c wifi: mac80211: don't use rate mask for offchannel TX either 2024-08-27 10:13:23 +02:00
parse.c wifi: mac80211: correct EHT EIRP TPE parsing 2024-06-12 12:25:54 +02:00
pm.c wifi: mac80211: handle ieee80211_radar_detected() for MLO 2024-09-06 13:01:05 +02:00
rate.c wifi: mac80211: convert debugfs files to short fops 2024-10-23 16:47:07 +02:00
rate.h wifi: mac80211: convert debugfs files to short fops 2024-10-23 16:47:07 +02:00
rc80211_minstrel_ht_debugfs.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
rc80211_minstrel_ht.c wifi: mac80211, cfg80211: miscellaneous spelling fixes 2024-10-08 21:52:09 +02:00
rc80211_minstrel_ht.h wifi: mac80211: minstrel_ht: remove unused has_mrr member from struct minstrel_priv 2022-10-07 15:25:05 +02:00
rx.c wifi: mac80211: filter on monitor interfaces based on configured channel 2024-10-23 16:46:34 +02:00
s1g.c wifi: mac80211: remove sta_mtx 2023-09-11 11:27:22 +02:00
scan.c wifi: mac80211: use vif radio mask to limit ibss scan frequencies 2024-10-23 16:44:44 +02:00
spectmgmt.c wifi: mac80211: refactor BW limitation check for CSA parsing 2024-10-23 16:46:48 +02:00
sta_info.c wifi: mac80211: Fix deadlock in ieee80211_sta_ps_deliver_wakeup() 2024-05-29 15:19:55 +02:00
sta_info.h wifi: mac80211, cfg80211: miscellaneous spelling fixes 2024-10-08 21:52:09 +02:00
status.c wifi: mac80211: add support for the monitor SKIP_TX flag 2024-10-23 16:46:13 +02:00
tdls.c wifi: mac80211: call rate_control_rate_update() for link STA 2024-10-23 16:43:27 +02:00
tkip.c Merge net-next/main to resolve conflicts 2024-10-09 08:59:22 +02:00
tkip.h Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2019-07-08 20:57:08 -07:00
trace_msg.h wifi: mac80211: remove unused MAX_MSG_LEN define 2024-02-08 12:50:09 +01:00
trace.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
trace.h wifi: mac80211: call rate_control_rate_update() for link STA 2024-10-23 16:43:27 +02:00
tx.c wifi: mac80211: add flag to opt out of virtual monitor support 2024-10-23 16:45:43 +02:00
util.c wifi: mac80211: fix a queue stall in certain cases of CSA 2024-12-03 11:28:34 +01:00
vht.c wifi: mac80211: expose ieee80211_chan_width_to_rx_bw() to drivers 2024-10-23 16:43:38 +02:00
wbrf.c wifi: mac80211: Drop WBRF debugging statements 2024-01-26 10:43:33 +01:00
wep.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
wep.h mac80211: make ieee80211_wep_init() return void 2020-02-07 12:40:34 +01:00
wme.c wifi: mac80211: fix qos on mesh interfaces 2023-03-22 13:46:38 +01:00
wme.h wifi: mac80211: Drop support for TX push path 2022-10-10 11:06:14 +02:00
wpa.c wifi: mac80211: remove misleading j_0 construction parts 2024-10-23 16:46:58 +02:00
wpa.h wifi: mac80211: remove cipher scheme support 2022-06-10 15:35:53 +02:00