linux/net/wireless
Lingbo Kong ee22f520cc wifi: cfg80211: Remove the Medium Synchronization Delay validity check
[ Upstream commit b4ebb58cb9 ]

Currently, when the driver attempts to connect to an AP MLD with multiple
APs, the cfg80211_mlme_check_mlo_compat() function requires the Medium
Synchronization Delay values from different APs of the same AP MLD to be
equal, which may result in connection failures.

This is because when the driver receives a multi-link probe response from
an AP MLD with multiple APs, cfg80211 updates the Elements for each AP
based on the multi-link probe response. If the Medium Synchronization Delay
is set in the multi-link probe response, the Elements for each AP belonging
to the same AP MLD will have the Medium Synchronization Delay set
simultaneously. If non-multi-link probe responses are received from
different APs of the same MLD AP, cfg80211 will still update the Elements
based on the non-multi-link probe response. Since the non-multi-link probe
response does not set the Medium Synchronization Delay
(IEEE 802.11be-2024-35.3.4.4), if the Elements from a non-multi-link probe
response overwrite those from a multi-link probe response that has set the
Medium Synchronization Delay, the Medium Synchronization Delay values for
APs belonging to the same AP MLD will not be equal. This discrepancy causes
the cfg80211_mlme_check_mlo_compat() function to fail, leading to
connection failures. Commit ccb964b4ab
("wifi: cfg80211: validate MLO connections better") did not take this into
account.

To address this issue, remove this validity check.

Fixes: ccb964b4ab ("wifi: cfg80211: validate MLO connections better")
Signed-off-by: Lingbo Kong <quic_lingbok@quicinc.com>
Link: https://patch.msgid.link/20241031134223.970-1-quic_lingbok@quicinc.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-12-05 14:01:55 +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: reject non-conformant 6 GHz center frequencies 2024-06-12 13:04:25 +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: reject non-conformant 6 GHz center frequencies 2024-06-12 13:04:25 +02:00
core.c wifi: cfg80211: check radio iface combination for multi radio per wiphy 2024-12-05 14:01:43 +01:00
core.h wifi: cfg80211: skip indicating signal for per-STA profile BSSs 2024-09-06 12:56:33 +02: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: move DFS related members to links[] in wireless_dev 2024-09-06 13:01:05 +02:00
Kconfig wifi: cfg80211/mac80211: remove dependency on non-existing option 2024-01-18 14:50:01 +01:00
lib80211.c wifi: lib80211: Constify struct lib80211_crypto_ops 2024-08-27 10:28:51 +02:00
lib80211_crypt_ccmp.c wifi: lib80211: Constify struct lib80211_crypto_ops 2024-08-27 10:28:51 +02:00
lib80211_crypt_tkip.c wifi: lib80211: Constify struct lib80211_crypto_ops 2024-08-27 10:28:51 +02:00
lib80211_crypt_wep.c wifi: lib80211: Constify struct lib80211_crypto_ops 2024-08-27 10:28:51 +02:00
Makefile kbuild: use $(src) instead of $(srctree)/$(src) for source directory 2024-05-10 04:34:52 +09:00
mesh.c wifi: cfg80211: move DFS related members to links[] in wireless_dev 2024-09-06 13:01:05 +02:00
mlme.c wifi: cfg80211: Remove the Medium Synchronization Delay validity check 2024-12-05 14:01:55 +01:00
nl80211.c genetlink: hold RCU in genlmsg_mcast() 2024-10-15 17:52:58 -07:00
nl80211.h wifi: nl80211: clean up coalescing rule handling 2024-05-29 10:38:53 +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: nl80211: remove the FTMs per burst limit for NDP ranging 2024-06-12 13:04:25 +02:00
radiotap.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
rdev-ops.h wifi: cfg80211: handle DFS per link 2024-09-06 13:01:05 +02:00
reg.c wifi: cfg80211: handle DFS per link 2024-09-06 13:01:05 +02:00
reg.h wifi: cfg80211: add return docs for regulatory functions 2024-04-19 10:29:08 +02:00
scan.c wifi: cfg80211: Do not create BSS entries for unsupported channels 2024-10-08 21:15:51 +02:00
sme.c wifi: cfg80211: fix two more possible UBSAN-detected off-by-one errors 2024-09-09 11:43:21 +02:00
sysfs.c wifi: cfg80211: fully move wiphy work to unbound workqueue 2024-05-29 15:23:33 +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: cfg80211: handle DFS per link 2024-09-06 13:01:05 +02:00
util.c wifi: cfg80211: Use kmemdup_array instead of kmemdup for multiple allocation 2024-08-27 10:28:56 +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: cfg80211: add a flag to disable wireless extensions 2024-03-25 15:23:06 +01: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