wifi: mt76: mt7996: pass wcid to mt7996_mcu_sta_hdr_trans_tlv
authorFelix Fietkau <nbd@nbd.name>
Thu, 2 Jan 2025 16:34:58 +0000 (17:34 +0100)
committerFelix Fietkau <nbd@nbd.name>
Tue, 14 Jan 2025 12:42:29 +0000 (13:42 +0100)
Preparation for MLO support.

Link: https://patch.msgid.link/20250102163508.52945-14-nbd@nbd.name
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c

index 1f0090c97e9c31893e4e91a44cf33defad1b949b..ebb2ff15a8d8f976f759bf41299b026801e27792 100644 (file)
@@ -1795,11 +1795,9 @@ mt7996_mcu_sta_hdrt_tlv(struct mt7996_dev *dev, struct sk_buff *skb)
 
 static void
 mt7996_mcu_sta_hdr_trans_tlv(struct mt7996_dev *dev, struct sk_buff *skb,
-                            struct ieee80211_vif *vif,
-                            struct ieee80211_sta *sta)
+                            struct ieee80211_vif *vif, struct mt76_wcid *wcid)
 {
        struct sta_rec_hdr_trans *hdr_trans;
-       struct mt76_wcid *wcid;
        struct tlv *tlv;
 
        tlv = mt76_connac_mcu_add_tlv(skb, STA_REC_HDR_TRANS, sizeof(*hdr_trans));
@@ -1811,10 +1809,9 @@ mt7996_mcu_sta_hdr_trans_tlv(struct mt7996_dev *dev, struct sk_buff *skb,
        else
                hdr_trans->from_ds = true;
 
-       if (!sta)
+       if (!wcid)
                return;
 
-       wcid = (struct mt76_wcid *)sta->drv_priv;
        hdr_trans->dis_rx_hdr_tran = !test_bit(MT_WCID_FLAG_HDR_TRANS, &wcid->flags);
        if (test_bit(MT_WCID_FLAG_4ADDR, &wcid->flags)) {
                hdr_trans->to_ds = true;
@@ -2194,7 +2191,7 @@ int mt7996_mcu_add_sta(struct mt7996_dev *dev, struct ieee80211_vif *vif,
                goto out;
 
        /* starec hdr trans */
-       mt7996_mcu_sta_hdr_trans_tlv(dev, skb, vif, sta);
+       mt7996_mcu_sta_hdr_trans_tlv(dev, skb, vif, &msta->wcid);
        /* starec tx proc */
        mt7996_mcu_sta_tx_proc_tlv(skb);
 
@@ -4322,7 +4319,7 @@ int mt7996_mcu_wtbl_update_hdr_trans(struct mt7996_dev *dev,
                return PTR_ERR(skb);
 
        /* starec hdr trans */
-       mt7996_mcu_sta_hdr_trans_tlv(dev, skb, vif, sta);
+       mt7996_mcu_sta_hdr_trans_tlv(dev, skb, vif, &msta->wcid);
        return mt76_mcu_skb_send_msg(&dev->mt76, skb,
                                     MCU_WMWA_UNI_CMD(STA_REC_UPDATE), true);
 }