From 42964c80d2d77dde1f9455160d039d810b0f8671 Mon Sep 17 00:00:00 2001 From: Lorenzo Bianconi Date: Fri, 6 Mar 2026 11:27:54 +0100 Subject: [PATCH] wifi: mt76: mt7996: Fix deflink lookup adding links Do not set vif deflink in mt7996_vif_link_add routine if the vif txq pointer is NULL in order to not miss the mtxq wcid field update adding a new link with a valid vif txq pointer. Fixes: b25fd88d7133d ("wifi: mt76: mt7996: Set mtxq->wcid just for primary link") Signed-off-by: Lorenzo Bianconi Link: https://patch.msgid.link/20260306-mt7996-deflink-lookup-link-remove-v1-3-7162b332873c@kernel.org Signed-off-by: Felix Fietkau --- mt7996/main.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/mt7996/main.c b/mt7996/main.c index 1fdfc664..8c4d90d8 100644 --- a/mt7996/main.c +++ b/mt7996/main.c @@ -364,15 +364,12 @@ int mt7996_vif_link_add(struct mt76_phy *mphy, struct ieee80211_vif *vif, ieee80211_iter_keys(mphy->hw, vif, mt7996_key_iter, &it); - if (!mlink->wcid->offchannel && + if (vif->txq && !mlink->wcid->offchannel && mvif->mt76.deflink_id == IEEE80211_LINK_UNSPECIFIED) { - if (vif->txq) { - struct mt76_txq *mtxq; + struct mt76_txq *mtxq = (struct mt76_txq *)vif->txq->drv_priv; - mtxq = (struct mt76_txq *)vif->txq->drv_priv; - mtxq->wcid = idx; - } mvif->mt76.deflink_id = link_conf->link_id; + mtxq->wcid = idx; } if (vif->type == NL80211_IFTYPE_STATION) {