linux/net/wireless
Johannes Berg ce112c941c wifi: cfg80211: detect stuck ECSA element in probe resp
[ Upstream commit 177fbbcb4e ]

We recently added some validation that we don't try to
connect to an AP that is currently in a channel switch
process, since that might want the channel to be quiet
or we might not be able to connect in time to hear the
switching in a beacon. This was in commit c09c4f3199
("wifi: mac80211: don't connect to an AP while it's in
a CSA process").

However, we promptly got a report that this caused new
connection failures, and it turns out that the AP that
we now cannot connect to is permanently advertising an
extended channel switch announcement, even with quiet.
The AP in question was an Asus RT-AC53, with firmware
3.0.0.4.380_10760-g21a5898.

As a first step, attempt to detect that we're dealing
with such a situation, so mac80211 can use this later.

Reported-by: coldolt <andypalmadi@gmail.com>
Closes: https://lore.kernel.org/linux-wireless/CAJvGw+DQhBk_mHXeu6RTOds5iramMW2FbMB01VbKRA4YbHHDTA@mail.gmail.com/
Fixes: c09c4f3199 ("wifi: mac80211: don't connect to an AP while it's in a CSA process")
Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240129131413.246972c8775e.Ibf834d7f52f9951a353b6872383da710a7358338@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-02-16 19:14:19 +01:00
..
certs wifi: cfg80211: fix certs build to not depend on file order 2023-12-14 09:11:51 +01:00
tests wifi: cfg80211: add first kunit tests, for element defrag 2023-09-11 12:32:16 +02:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
ap.c wifi: cfg80211: remove wdev mutex 2023-09-11 11:27:23 +02:00
chan.c wifi: cfg80211: export DFS CAC time and usable state helper functions 2023-09-13 13:24:11 +02:00
core.c wifi: cfg80211: hold wiphy mutex for send_interface 2023-11-24 18:30:48 +01:00
core.h wifi: cfg80211: fix CQM for non-range use 2023-11-24 18:29:35 +01:00
debugfs.c wifi: cfg80211: add locked debugfs wrappers 2023-11-27 11:24:58 +01: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
ethtool.c wifi: cfg80211: use strscpy to replace strlcpy 2022-07-15 11:43:12 +02:00
ibss.c wifi: cfg80211: remove wdev mutex 2023-09-11 11:27:23 +02:00
Kconfig wifi: cfg80211: add first kunit tests, for element defrag 2023-09-11 12:32:16 +02:00
lib80211.c lib80211: Remove unused macro DRV_NAME 2020-09-18 11:53:00 +02:00
lib80211_crypt_ccmp.c wifi: use struct_group to copy addresses 2022-09-03 16:40:06 +02:00
lib80211_crypt_tkip.c wifi: lib80211: remove unused variables iv32 and iv16 2023-09-13 12:33:58 +02:00
lib80211_crypt_wep.c mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
Makefile wifi: cfg80211: add first kunit tests, for element defrag 2023-09-11 12:32:16 +02:00
mesh.c wifi: cfg80211: remove scan_width support 2023-09-13 11:10:50 +02:00
mlme.c wireless-next patches for v6.7 2023-10-26 20:27:58 -07:00
nl80211.c wifi: cfg80211: hold wiphy mutex for send_interface 2023-11-24 18:30:48 +01:00
nl80211.h wifi: cfg80211: Allow AP/P2PGO to indicate port authorization to peer STA/P2PClient 2023-10-23 12:50:44 +02:00
ocb.c wifi: cfg80211: remove wdev mutex 2023-09-11 11:27:23 +02:00
of.c cfg80211: support ieee80211-freq-limit DT property 2017-01-06 14:01:13 +01:00
pmsr.c wifi: cfg80211: remove wdev mutex 2023-09-11 11:27:23 +02:00
radiotap.c mac80211: Use flex-array for radiotap header bitmap 2021-08-13 09:58:25 +02:00
rdev-ops.h wifi: cfg80211: split struct cfg80211_ap_settings 2023-09-25 09:00:39 +02:00
reg.c wifi: cfg80211: reg: describe return values in kernel-doc 2023-09-25 09:12:33 +02:00
reg.h wifi: cfg80211: reg: fix various kernel-doc issues 2023-09-11 12:32:39 +02:00
scan.c wifi: cfg80211: detect stuck ECSA element in probe resp 2024-02-16 19:14:19 +01:00
sme.c wifi: cfg80211: Allow AP/P2PGO to indicate port authorization to peer STA/P2PClient 2023-10-23 12:50:44 +02:00
sysfs.c wifi: cfg80211: add flush functions for wiphy work 2023-09-11 11:27:19 +02:00
sysfs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
trace.c cfg80211: add tracing to rdev-ops 2012-10-18 10:53:37 +02:00
trace.h wifi: mac80211: rename struct cfg80211_rx_assoc_resp to cfg80211_rx_assoc_resp_data 2023-10-23 12:26:51 +02:00
util.c wifi: cfg80211: Allow AP/P2PGO to indicate port authorization to peer STA/P2PClient 2023-10-23 12:50:44 +02:00
wext-compat.c wifi: cfg80211: wext: convert return value to kernel-doc 2023-10-23 11:45:17 +02:00
wext-compat.h wifi: cfg80211: Avoid clashing function prototypes 2022-11-16 11:31:47 +02:00
wext-core.c wifi: wext-core: Fix -Wstringop-overflow warning in ioctl_standard_iw_point() 2023-06-19 12:05:27 +02:00
wext-priv.c wext: fix potential private ioctl memory content leak 2010-09-20 13:41:40 -04:00
wext-proc.c proc: introduce proc_create_net{,_data} 2018-05-16 07:24:30 +02:00
wext-sme.c wifi: cfg80211: remove wdev mutex 2023-09-11 11:27:23 +02:00
wext-spy.c wireless: wext-spy: Fix out-of-bounds warning 2021-06-23 10:57:17 +02:00