mt76: mt7915: use proper aid value in mt7915_mcu_sta_basic_tlv
authorLorenzo Bianconi <lorenzo@kernel.org>
Wed, 22 Dec 2021 16:06:36 +0000 (17:06 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Apr 2022 12:23:28 +0000 (14:23 +0200)
[ Upstream commit abdb8bc94be4cf68aa71c9a8ee0bad9b3e6f52d3 ]

Similar to mt7915_mcu_wtbl_generic_tlv, rely on vif->bss_conf.aid for
aid in sta mode and not on sta->aid.

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 b157db9f89032c59c5035e07e6a6b14efde1f7a9..e9d854e3293e4bd2be1a884e7e324a4ec5653220 100644 (file)
@@ -1454,12 +1454,15 @@ mt7915_mcu_sta_basic_tlv(struct sk_buff *skb, struct ieee80211_vif *vif,
        case NL80211_IFTYPE_MESH_POINT:
        case NL80211_IFTYPE_AP:
                basic->conn_type = cpu_to_le32(CONNECTION_INFRA_STA);
+               basic->aid = cpu_to_le16(sta->aid);
                break;
        case NL80211_IFTYPE_STATION:
                basic->conn_type = cpu_to_le32(CONNECTION_INFRA_AP);
+               basic->aid = cpu_to_le16(vif->bss_conf.aid);
                break;
        case NL80211_IFTYPE_ADHOC:
                basic->conn_type = cpu_to_le32(CONNECTION_IBSS_ADHOC);
+               basic->aid = cpu_to_le16(sta->aid);
                break;
        default:
                WARN_ON(1);
@@ -1467,7 +1470,6 @@ mt7915_mcu_sta_basic_tlv(struct sk_buff *skb, struct ieee80211_vif *vif,
        }
 
        memcpy(basic->peer_addr, sta->addr, ETH_ALEN);
-       basic->aid = cpu_to_le16(sta->aid);
        basic->qos = sta->wme;
 }