wifi: cfg80211: Fix 6GHz scan configuration
authorIlan Peer <ilan.peer@intel.com>
Mon, 18 Sep 2023 11:10:54 +0000 (14:10 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 25 Oct 2023 10:03:10 +0000 (12:03 +0200)
[ Upstream commit 0914468adf92296c4cba8a2134e06e3dea150f2e ]

When the scan request includes a non broadcast BSSID, when adding the
scan parameters for 6GHz collocated scanning, do not include entries
that do not match the given BSSID.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230918140607.6d31d2a96baf.I6c4e3e3075d1d1878ee41f45190fdc6b86f18708@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/wireless/scan.c

index e5c1510c098fdd3f7c4c76d5ab3a1d6fb301ad33..b7e1631b3d80dd5bded41fc33e2d691db815cf3f 100644 (file)
@@ -876,6 +876,10 @@ static int cfg80211_scan_6ghz(struct cfg80211_registered_device *rdev)
                    !cfg80211_find_ssid_match(ap, request))
                        continue;
 
+               if (!is_broadcast_ether_addr(request->bssid) &&
+                   !ether_addr_equal(request->bssid, ap->bssid))
+                       continue;
+
                if (!request->n_ssids && ap->multi_bss && !ap->transmitted_bssid)
                        continue;