mt76: mt7915: set bssinfo/starec command when adding interface
authorShayne Chen <shayne.chen@mediatek.com>
Fri, 14 Jan 2022 09:49:11 +0000 (17:49 +0800)
committerFelix Fietkau <nbd@nbd.name>
Thu, 3 Feb 2022 12:57:59 +0000 (13:57 +0100)
bssinfo/starec disabled commands are sent during removing interface.
However, if we don't set corresponding enabled commands before
removing interface, the fw may enter an exception state due to
some NULL structs.
For example, the following commands can cause fw timeout in our newer
chips:
    ifconfig wlan0/mon0 up
    ifconfig wlan0/mon0 down

Fix this by setting enabled commands once interface added.

Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7915/main.c

index b45b75f98c4d3576414c37d04c2671f812ea7e46..41b0a4d8b93ee8043186c849c44ff3f341a6484f 100644 (file)
@@ -257,6 +257,9 @@ static int mt7915_add_interface(struct ieee80211_hw *hw,
        mt7915_init_bitrate_mask(vif);
        memset(&mvif->cap, -1, sizeof(mvif->cap));
 
+       mt7915_mcu_add_bss_info(phy, vif, true);
+       mt7915_mcu_add_sta(dev, vif, NULL, true);
+
 out:
        mutex_unlock(&dev->mt76.mutex);