]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Apr 2022 11:58:01 +0000 (13:58 +0200)
[ Upstream commit a56b1b0f145ef2d6bb9312dedf3ab8558ef50a5b ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c

index 0911b6f973b5aa8ac95bebcb4efb2b9beee19649..38cc50603d204c5580da162f2932dd61d97eb05c 100644 (file)
@@ -1264,8 +1264,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 {