OSDN Git Service

mt76: mt7615: update beacon contents on BSS_CHANGED_BEACON
authorFelix Fietkau <nbd@nbd.name>
Wed, 6 Nov 2019 19:18:28 +0000 (20:18 +0100)
committerFelix Fietkau <nbd@nbd.name>
Fri, 14 Feb 2020 09:05:59 +0000 (10:05 +0100)
Beacon changes need to be sent to the firmware, otherwise it will
keep sending stale data

Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7615/main.c

index 70d665c..79f32b6 100644 (file)
@@ -406,17 +406,16 @@ static void mt7615_bss_info_changed(struct ieee80211_hw *hw,
        if (changed & BSS_CHANGED_ASSOC)
                mt7615_mcu_set_bss_info(dev, vif, info->assoc);
 
-       /* TODO: update beacon content
-        * BSS_CHANGED_BEACON
-        */
-
        if (changed & BSS_CHANGED_BEACON_ENABLED) {
                mt7615_mcu_set_bss_info(dev, vif, info->enable_beacon);
                mt7615_mcu_wtbl_bmc(dev, vif, info->enable_beacon);
                mt7615_mcu_set_sta_rec_bmc(dev, vif, info->enable_beacon);
-               mt7615_mcu_set_bcn(hw, vif, info->enable_beacon);
        }
 
+       if (changed & (BSS_CHANGED_BEACON |
+                      BSS_CHANGED_BEACON_ENABLED))
+               mt7615_mcu_set_bcn(hw, vif, info->enable_beacon);
+
        mutex_unlock(&dev->mt76.mutex);
 }