wifi: mt76: mt7996: use the correct vif link for scanning/roc
authorChad Monroe <chad@monroe.io>
Fri, 8 Aug 2025 13:29:48 +0000 (13:29 +0000)
committerFelix Fietkau <nbd@nbd.name>
Wed, 27 Aug 2025 09:20:39 +0000 (11:20 +0200)
restore fix which was dropped during MLO rework

Fixes: f0b0b239b8f3 ("wifi: mt76: mt7996: rework mt7996_mac_write_txwi() for MLO support")
Signed-off-by: Chad Monroe <chad@monroe.io>
Acked-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://patch.msgid.link/180fffd409aa57f535a3d2c1951e41ae398ce09e.1754659732.git.chad@monroe.io
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7996/mac.c

index a9f7e5626dcdda5b18a8544fdd75c07adb132926..d6531b74be1f15467c06e385d0efabad806db6b8 100644 (file)
@@ -903,8 +903,12 @@ void mt7996_mac_write_txwi(struct mt7996_dev *dev, __le32 *txwi,
                                       IEEE80211_TX_CTRL_MLO_LINK);
 
        mvif = vif ? (struct mt7996_vif *)vif->drv_priv : NULL;
-       if (mvif)
-               mlink = rcu_dereference(mvif->mt76.link[link_id]);
+       if (mvif) {
+               if (wcid->offchannel)
+                       mlink = rcu_dereference(mvif->mt76.offchannel_link);
+               if (!mlink)
+                       mlink = rcu_dereference(mvif->mt76.link[link_id]);
+       }
 
        if (mlink) {
                omac_idx = mlink->omac_idx;