struct mt7615_phy *phy = mt7615_hw_phy(hw);
int idx = msta->wcid.idx;
- /* TODO: disable beacon for the bss */
-
mt7615_mutex_acquire(dev);
+ mt7615_mcu_add_bss_info(phy, vif, NULL, false);
+ mt7615_mcu_sta_add(phy, vif, NULL, false);
+
mt76_testmode_reset(phy->mt76, true);
if (vif == phy->monitor_vif)
phy->monitor_vif = NULL;
}
}
- if (changed & BSS_CHANGED_BEACON_ENABLED) {
- mt7615_mcu_add_bss_info(phy, vif, NULL, info->enable_beacon);
- mt7615_mcu_sta_add(phy, vif, NULL, info->enable_beacon);
+ if (changed & BSS_CHANGED_BEACON_ENABLED && info->enable_beacon) {
+ mt7615_mcu_add_bss_info(phy, vif, NULL, true);
+ mt7615_mcu_sta_add(phy, vif, NULL, true);
- if (vif->p2p && info->enable_beacon)
+ if (vif->p2p)
mt7615_mcu_set_p2p_oppps(hw, vif);
}