mt76: mt7915: rely on mt76_connac_mcu_sta_basic_tlv
authorLorenzo Bianconi <lorenzo@kernel.org>
Thu, 23 Dec 2021 12:07:37 +0000 (13:07 +0100)
committerFelix Fietkau <nbd@nbd.name>
Thu, 3 Feb 2022 12:57:57 +0000 (13:57 +0100)
Rely on mt76_connac_mcu_sta_basic_tlv routine in mt7915 and remove
duplicated code.

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 03deec4..fc16021 100644 (file)
@@ -770,56 +770,6 @@ int mt7915_mcu_add_rx_ba(struct mt7915_dev *dev,
 }
 
 static void
-mt7915_mcu_sta_basic_tlv(struct sk_buff *skb, struct ieee80211_vif *vif,
-                        struct ieee80211_sta *sta, bool enable)
-{
-#define EXTRA_INFO_VER          BIT(0)
-#define EXTRA_INFO_NEW          BIT(1)
-       struct sta_rec_basic *basic;
-       struct tlv *tlv;
-
-       tlv = mt76_connac_mcu_add_tlv(skb, STA_REC_BASIC, sizeof(*basic));
-
-       basic = (struct sta_rec_basic *)tlv;
-       basic->extra_info = cpu_to_le16(EXTRA_INFO_VER);
-
-       if (enable) {
-               basic->extra_info |= cpu_to_le16(EXTRA_INFO_NEW);
-               basic->conn_state = CONN_STATE_PORT_SECURE;
-       } else {
-               basic->conn_state = CONN_STATE_DISCONNECT;
-       }
-
-       if (!sta) {
-               basic->conn_type = cpu_to_le32(CONNECTION_INFRA_BC);
-               eth_broadcast_addr(basic->peer_addr);
-               return;
-       }
-
-       switch (vif->type) {
-       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);
-               break;
-       }
-
-       memcpy(basic->peer_addr, sta->addr, ETH_ALEN);
-       basic->qos = sta->wme;
-}
-
-static void
 mt7915_mcu_sta_he_tlv(struct sk_buff *skb, struct ieee80211_sta *sta,
                      struct ieee80211_vif *vif)
 {
@@ -1866,7 +1816,7 @@ int mt7915_mcu_add_sta(struct mt7915_dev *dev, struct ieee80211_vif *vif,
                return PTR_ERR(skb);
 
        /* starec basic */
-       mt7915_mcu_sta_basic_tlv(skb, vif, sta, enable);
+       mt76_connac_mcu_sta_basic_tlv(skb, vif, sta, enable, true);
        if (!enable)
                goto out;