]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: mt76: mt7925: resolve primary mlink via def_wcid
authorSean Wang <sean.wang@mediatek.com>
Fri, 6 Mar 2026 23:22:24 +0000 (17:22 -0600)
committerFelix Fietkau <nbd@nbd.name>
Tue, 24 Mar 2026 15:49:31 +0000 (15:49 +0000)
Use mlink->wcid.def_wcid to obtain the primary mlink in
mt7925_mac_link_sta_add() instead of calling mt792x_sta_to_link().

The primary link context is already carried by the WCID, so the extra
lookup is redundant. This makes the add path follow the existing WCID
association directly.

No functional change intended.

Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Link: https://patch.msgid.link/20260306232238.2039675-6-sean.wang@kernel.org
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7925/main.c

index c65e32a14c015f3a23e2f1fe317974fef3da98e9..d7a09a0a79fb40ca8a72a562a1333f449e6d7636 100644 (file)
@@ -927,8 +927,17 @@ static int mt7925_mac_link_sta_add(struct mt76_dev *mdev,
        } else if (ieee80211_vif_is_mld(vif) &&
                   link_sta != mlink->pri_link) {
                struct mt792x_link_sta *pri_mlink;
+               struct mt76_wcid *pri_wcid;
 
-               pri_mlink = mt792x_sta_to_link(msta, mlink->pri_link->link_id);
+               /* alternative lookup via def_wcid */
+               pri_wcid = mlink->wcid.def_wcid;
+
+               pri_mlink = pri_wcid ?
+                           container_of(pri_wcid, struct mt792x_link_sta, wcid) :
+                           NULL;
+
+               if (WARN_ON_ONCE(!pri_mlink))
+                       return -EINVAL;
 
                ret = mt7925_mcu_sta_update(dev, mlink->pri_link, vif,
                                            pri_mlink, true,