mt76: mt7915: use proper aid value in mt7915_mcu_wtbl_generic_tlv in sta mode
authorLorenzo Bianconi <lorenzo@kernel.org>
Wed, 22 Dec 2021 11:52:17 +0000 (12:52 +0100)
committerFelix Fietkau <nbd@nbd.name>
Thu, 3 Feb 2022 12:57:57 +0000 (13:57 +0100)
mac80211 provides aid in vif->bss_conf.aid for sta mode and not in
sta->aid. Fix mt7915_mcu_wtbl_generic_tlv routine using proper value for
aid in sta mode.

Fixes: e57b7901469fc ("mt76: add mac80211 driver for MT7915 PCIe-based chipsets")
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c

index 1985240c008384fc29fa3f93f59a04b91b668ba0..a1d50bbdece23ef49ca4535b087dd781f8338a31 100644 (file)
@@ -988,8 +988,11 @@ mt7915_mcu_wtbl_generic_tlv(struct sk_buff *skb, struct ieee80211_vif *vif,
        generic = (struct wtbl_generic *)tlv;
 
        if (sta) {
+               if (vif->type == NL80211_IFTYPE_STATION)
+                       generic->partial_aid = cpu_to_le16(vif->bss_conf.aid);
+               else
+                       generic->partial_aid = cpu_to_le16(sta->aid);
                memcpy(generic->peer_addr, sta->addr, ETH_ALEN);
-               generic->partial_aid = cpu_to_le16(sta->aid);
                generic->muar_idx = mvif->mt76.omac_idx;
                generic->qos = sta->wme;
        } else {