continue;
--- a/net/wireless/scan.c
+++ b/net/wireless/scan.c
-@@ -2012,6 +2012,7 @@ static const struct element
+@@ -2013,6 +2013,7 @@ static const struct element
const struct element *next_mbssid;
const struct element *next_sub;
next_mbssid = cfg80211_find_elem(WLAN_EID_MULTIPLE_BSSID,
mbssid_end,
ielen - (mbssid_end - ie));
-@@ -2093,6 +2094,7 @@ static void cfg80211_parse_mbssid_data(s
+@@ -2094,6 +2095,7 @@ static void cfg80211_parse_mbssid_data(s
u16 capability;
struct cfg80211_bss *bss;
if (!non_tx_data)
return;
if (!cfg80211_find_ie(WLAN_EID_MULTIPLE_BSSID, ie, ielen))
-@@ -2253,6 +2255,7 @@ cfg80211_update_notlisted_nontrans(struc
+@@ -2254,6 +2256,7 @@ cfg80211_update_notlisted_nontrans(struc
const struct cfg80211_bss_ies *old;
size_t cpy_len;
lockdep_assert_held(&wiphy_to_rdev(wiphy)->bss_lock);
ie = mgmt->u.probe_resp.variable;
-@@ -2470,6 +2473,7 @@ cfg80211_inform_bss_frame_data(struct wi
-
+@@ -2472,6 +2475,7 @@ cfg80211_inform_bss_frame_data(struct wi
res = cfg80211_inform_single_bss_frame_data(wiphy, data, mgmt,
len, gfp);
+
+ return res;
- if (!res || !wiphy->support_mbssid ||
- !cfg80211_find_ie(WLAN_EID_MULTIPLE_BSSID, ie, ielen))
+ /* don't do any further MBSSID handling for S1G */
+ if (ieee80211_is_s1g_beacon(mgmt->frame_control))
return res;