mt76: mt7915: keep mcu_add_bss_info enabled till interface removal
authorRyder Lee <ryder.lee@mediatek.com>
Thu, 25 Mar 2021 08:06:05 +0000 (16:06 +0800)
committerFelix Fietkau <nbd@nbd.name>
Sun, 11 Apr 2021 22:03:05 +0000 (00:03 +0200)
The same as mt7615. Keep BSS_INFO_BASIC enabled throughout interfaces
life cycle.

Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7915/main.c

index b32a435688bcd48c844d4fa61983f33bb6401f92..2fd87987312e5fb03b22ea6fa3b547f42adcb6ff 100644 (file)
@@ -256,7 +256,8 @@ static void mt7915_remove_interface(struct ieee80211_hw *hw,
        struct mt7915_phy *phy = mt7915_hw_phy(hw);
        int idx = msta->wcid.idx;
 
-       /* TODO: disable beacon for the bss */
+       mt7915_mcu_add_bss_info(phy, vif, false);
+       mt7915_mcu_add_sta(dev, vif, NULL, false);
 
        mutex_lock(&dev->mt76.mutex);
        mt76_testmode_reset(phy->mt76, true);
@@ -555,9 +556,9 @@ static void mt7915_bss_info_changed(struct ieee80211_hw *hw,
                }
        }
 
-       if (changed & BSS_CHANGED_BEACON_ENABLED) {
-               mt7915_mcu_add_bss_info(phy, vif, info->enable_beacon);
-               mt7915_mcu_add_sta(dev, vif, NULL, info->enable_beacon);
+       if (changed & BSS_CHANGED_BEACON_ENABLED && info->enable_beacon) {
+               mt7915_mcu_add_bss_info(phy, vif, true);
+               mt7915_mcu_add_sta(dev, vif, NULL, true);
        }
 
        /* ensure that enable txcmd_mode after bss_info */