diff mbox series

[12/20] wifi: cfg80211: do not scan disabled links on 6GHz

Message ID 20230618214436.4f7384006471.Iff8f1081e76a298bd25f9468abb3a586372cddaa@changeid (mailing list archive)
State Accepted
Delegated to: Johannes Berg
Headers show
Series cfg80211/mac80211 patches from our internal tree 2023-06-18 | expand

Commit Message

Greenman, Gregory June 18, 2023, 6:49 p.m. UTC
From: Benjamin Berg <benjamin.berg@intel.com>

If a link is disabled on 6GHz, we should not send a probe request on the
channel to resolve it. Simply skip such RNR entries so that the link is
ignored.

Userspace can still see the link in the RNR and may generate an ML probe
request in order to associate to the (currently) disabled link.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
---
 net/wireless/scan.c | 7 +++++++
 1 file changed, 7 insertions(+)
diff mbox series

Patch

diff --git a/net/wireless/scan.c b/net/wireless/scan.c
index 46488650ecbc..cf0ad544cb99 100644
--- a/net/wireless/scan.c
+++ b/net/wireless/scan.c
@@ -587,6 +587,13 @@  static int cfg80211_parse_ap_info(struct cfg80211_colocated_ap *entry,
 		entry->short_ssid_valid = true;
 
 		bss_params = tbtt_info->bss_params;
+
+		/* Ignore disabled links */
+		if (length >= offsetofend(typeof(*tbtt_info), mld_params)) {
+			if (le16_get_bits(tbtt_info->mld_params.params,
+					  IEEE80211_RNR_MLD_PARAMS_DISABLED_LINK))
+				return -EINVAL;
+		}
 	} else {
 		struct ieee80211_tbtt_info_7_8_9 *tbtt_info = (void *)pos;