wifi: mt76: mt7996: fix non-main BSS no beacon issue for MBSS scenario
authorHenry Yen <henry.yen@mediatek.com>
Wed, 20 Mar 2024 11:09:13 +0000 (19:09 +0800)
committerFelix Fietkau <nbd@nbd.name>
Thu, 2 May 2024 10:44:51 +0000 (12:44 +0200)
Do not add UNI_BSS_INFO_11V_MBSSID tag when bssid_indicator is not set
to avoid abnormal beaconing behavior in non-11v MBSS scenario.

Signed-off-by: Henry Yen <henry.yen@mediatek.com>
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c

index ab5b4b523578d21cbcf55f509459f7ef21ae21bf..88090c91df8783139f65d9af173bafc2c1891e53 100644 (file)
@@ -819,11 +819,14 @@ mt7996_mcu_bss_mbssid_tlv(struct sk_buff *skb, struct ieee80211_vif *vif,
        struct bss_info_uni_mbssid *mbssid;
        struct tlv *tlv;
 
+       if (!vif->bss_conf.bssid_indicator)
+               return;
+
        tlv = mt7996_mcu_add_uni_tlv(skb, UNI_BSS_INFO_11V_MBSSID, sizeof(*mbssid));
 
        mbssid = (struct bss_info_uni_mbssid *)tlv;
 
-       if (enable && vif->bss_conf.bssid_indicator) {
+       if (enable) {
                mbssid->max_indicator = vif->bss_conf.bssid_indicator;
                mbssid->mbss_idx = vif->bss_conf.bssid_index;
                mbssid->tx_bss_omac_idx = 0;