summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorSean Wang <sean.wang@mediatek.com>2026-03-06 17:22:24 -0600
committerFelix Fietkau <nbd@nbd.name>2026-03-24 15:49:31 +0000
commitecc57c9899e60456015fb355bfcf7650af7d13c1 (patch)
treec311dcba3cb882353133bd06433a3958becfe3db /drivers/net
parentdc019e3294c7e3c6e997bb11732d46ce0d9211e9 (diff)
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 <sean.wang@mediatek.com> Link: https://patch.msgid.link/20260306232238.2039675-6-sean.wang@kernel.org Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt7925/main.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/main.c b/drivers/net/wireless/mediatek/mt76/mt7925/main.c
index c65e32a14c01..d7a09a0a79fb 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,