From caed4843c5cdfe1ba84eb7be6d51d4a1af13b07d Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 19 Aug 2024 20:02:27 +0200 Subject: [PATCH] wifi: mt76: fix station muar index Signed-off-by: Felix Fietkau --- mt76.h | 1 + mt76_connac_mcu.c | 2 +- mt7915/main.c | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/mt76.h b/mt76.h index f49d0a6d..7e402f17 100644 --- a/mt76.h +++ b/mt76.h @@ -354,6 +354,7 @@ struct mt76_wcid { u8 hw_key_idx2; u8 sta:1; + u8 sta_disabled:1; u8 amsdu:1; u8 phy_idx:2; u8 link_id:4; diff --git a/mt76_connac_mcu.c b/mt76_connac_mcu.c index 7afb9ac3..3a575ceb 100644 --- a/mt76_connac_mcu.c +++ b/mt76_connac_mcu.c @@ -283,7 +283,7 @@ __mt76_connac_mcu_alloc_sta_req(struct mt76_dev *dev, struct mt76_vif *mvif, }; struct sk_buff *skb; - if (wcid && !wcid->sta) + if (wcid && !wcid->sta && !wcid->sta_disabled) hdr.muar_idx = 0xe; mt76_connac_mcu_get_wlan_idx(dev, wcid, &hdr.wlan_idx_lo, diff --git a/mt7915/main.c b/mt7915/main.c index 3d303fcb..126aa60b 100644 --- a/mt7915/main.c +++ b/mt7915/main.c @@ -781,6 +781,7 @@ int mt7915_mac_sta_event(struct mt76_dev *mdev, struct ieee80211_vif *vif, return ret; msta->wcid.sta = 1; + msta->wcid.sta_disabled = 0; mt76_sta_set_txq_wcid(sta, msta->wcid.idx); return 0; @@ -791,6 +792,7 @@ int mt7915_mac_sta_event(struct mt76_dev *mdev, struct ieee80211_vif *vif, case MT76_STA_EVENT_DISASSOC: mt7915_mcu_add_sta(dev, vif, sta, CONN_STATE_DISCONNECT, false); mt76_sta_set_txq_wcid(sta, mvif->sta.wcid.idx); + msta->wcid.sta_disabled = 1; msta->wcid.sta = 0; return 0; }