mt76: mt7915: refresh repeater entry MAC address when setting BSSID
authorFelix Fietkau <nbd@nbd.name>
Tue, 16 Feb 2021 14:23:13 +0000 (15:23 +0100)
committerFelix Fietkau <nbd@nbd.name>
Sun, 11 Apr 2021 22:03:04 +0000 (00:03 +0200)
When disassociating and clearing the BSSID of a repeater entry used by a client
mode interface, the corresponding MAC address entry can get lost too, causing
the client interface to not be able to associate anymore.
Fix this by also refreshing the MAC address when setting the BSSID

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

index 29b5039..9d0911a 100644 (file)
@@ -1008,8 +1008,10 @@ int mt7915_mcu_add_bss_info(struct mt7915_phy *phy,
        struct mt7915_vif *mvif = (struct mt7915_vif *)vif->drv_priv;
        struct sk_buff *skb;
 
-       if (mvif->omac_idx >= REPEATER_BSSID_START)
+       if (mvif->omac_idx >= REPEATER_BSSID_START) {
+               mt7915_mcu_muar_config(phy, vif, false, enable);
                mt7915_mcu_muar_config(phy, vif, true, enable);
+       }
 
        skb = mt7915_mcu_alloc_sta_req(phy->dev, mvif, NULL,
                                       MT7915_BSS_UPDATE_MAX_SIZE);