mac80211: update bssid_indicator in ieee80211_assign_beacon
authorLorenzo Bianconi <lorenzo@kernel.org>
Thu, 24 Feb 2022 11:55:00 +0000 (12:55 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 15 Mar 2022 10:50:33 +0000 (11:50 +0100)
Update bssid_indicator in ieee80211_bss_conf according to the
number of bssid in the set.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://lore.kernel.org/r/f92317e002fca9933f05a445fcefb4f53291d601.1645702516.git.lorenzo@kernel.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/cfg.c

index 072eccb..ba75253 100644 (file)
@@ -1071,6 +1071,9 @@ static int ieee80211_assign_beacon(struct ieee80211_sub_if_data *sdata,
                new->mbssid_ies = (void *)pos;
                pos += struct_size(new->mbssid_ies, elem, mbssid->cnt);
                ieee80211_copy_mbssid_beacon(pos, new->mbssid_ies, mbssid);
+               /* update bssid_indicator */
+               sdata->vif.bss_conf.bssid_indicator =
+                       ilog2(__roundup_pow_of_two(mbssid->cnt + 1));
        }
 
        if (csa) {