wifi: mt76: mt7915: improve hardware restart reliability

- use reconfig_complete to restart mac_work / queues
- reset full wtbl after firmware init
- clear wcid and vif mask to avoid leak

Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
Felix Fietkau
2024-08-22 23:00:16 +02:00
parent 1f4ac8faa5
commit b76f16ea65
3 changed files with 24 additions and 13 deletions
+13
View File
@@ -1680,6 +1680,18 @@ mt7915_net_fill_forward_path(struct ieee80211_hw *hw,
}
#endif
static void
mt7915_reconfig_complete(struct ieee80211_hw *hw,
enum ieee80211_reconfig_type reconfig_type)
{
struct mt7915_dev *dev = mt7915_hw_dev(hw);
struct mt7915_phy *phy = mt7915_hw_phy(hw);
ieee80211_wake_queues(hw);
ieee80211_queue_delayed_work(hw, &phy->mt76->mac_work,
MT7915_WATCHDOG_TIME);
}
const struct ieee80211_ops mt7915_ops = {
.add_chanctx = ieee80211_emulate_add_chanctx,
.remove_chanctx = ieee80211_emulate_remove_chanctx,
@@ -1738,4 +1750,5 @@ const struct ieee80211_ops mt7915_ops = {
.net_fill_forward_path = mt7915_net_fill_forward_path,
.net_setup_tc = mt76_wed_net_setup_tc,
#endif
.reconfig_complete = mt7915_reconfig_complete,
};