From ecc57c9899e60456015fb355bfcf7650af7d13c1 Mon Sep 17 00:00:00 2001 From: Sean Wang Date: Fri, 6 Mar 2026 17:22:24 -0600 Subject: [PATCH] wifi: mt76: mt7925: resolve primary mlink via def_wcid 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 Link: https://patch.msgid.link/20260306232238.2039675-6-sean.wang@kernel.org Signed-off-by: Felix Fietkau --- drivers/net/wireless/mediatek/mt76/mt7925/main.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/main.c b/drivers/net/wireless/mediatek/mt76/mt7925/main.c index c65e32a14c015..d7a09a0a79fb4 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7925/main.c +++ b/drivers/net/wireless/mediatek/mt76/mt7925/main.c @@ -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, -- 2.47.3