mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-12-28 04:37:40 +00:00
mt76: mt7915: rely on mt76_connac_mcu_sta_basic_tlv
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>
This commit is contained in:
parent
c772097114
commit
2663ce4984
@ -769,56 +769,6 @@ int mt7915_mcu_add_rx_ba(struct mt7915_dev *dev,
|
||||
enable, false);
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user