mt76: mt7615: provide aid info to the mcu
authorLorenzo Bianconi <lorenzo@kernel.org>
Fri, 17 Apr 2020 11:10:04 +0000 (13:10 +0200)
committerFelix Fietkau <nbd@nbd.name>
Tue, 12 May 2020 17:52:31 +0000 (19:52 +0200)
For sta mode mac80211 provides aid in vif->bss_conf.aid.
In order to properly support 802.11 power-save, configure correct aid
to mcu during sta association

Co-developed-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c

index 939aeb03b5684fcd07016bd503971dc0c8b8ea90..530d6302b53abc0643fd1b34a3bde481fe8b7e83 100644 (file)
@@ -790,12 +790,15 @@ mt7615_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);
@@ -803,7 +806,6 @@ mt7615_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;
 }