]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: mt76: mt7925: prevent NULL vif dereference in mt7925_mac_write_txwi
authorMing Yen Hsieh <mingyen.hsieh@mediatek.com>
Thu, 4 Sep 2025 03:06:47 +0000 (11:06 +0800)
committerFelix Fietkau <nbd@nbd.name>
Mon, 23 Mar 2026 09:21:25 +0000 (09:21 +0000)
Check for a NULL `vif` before accessing `ieee80211_vif_is_mld(vif)` to
avoid a potential kernel panic in scenarios where `vif` might not be
initialized.

Fixes: ebb1406813c6 ("wifi: mt76: mt7925: add link handling to txwi")
Signed-off-by: Ming Yen Hsieh <mingyen.hsieh@mediatek.com>
Link: https://patch.msgid.link/20250904030649.655436-3-mingyen.hsieh@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7925/mac.c

index 33cd5e85a31d702b005934450b53d683beabf97a..0bafa8e770a66f283271a1b598dca9412af6014a 100644 (file)
@@ -804,8 +804,8 @@ mt7925_mac_write_txwi(struct mt76_dev *dev, __le32 *txwi,
        txwi[5] = cpu_to_le32(val);
 
        val = MT_TXD6_DAS | FIELD_PREP(MT_TXD6_MSDU_CNT, 1);
-       if (!ieee80211_vif_is_mld(vif) ||
-           (q_idx >= MT_LMAC_ALTX0 && q_idx <= MT_LMAC_BCN0))
+       if (vif && (!ieee80211_vif_is_mld(vif) ||
+           (q_idx >= MT_LMAC_ALTX0 && q_idx <= MT_LMAC_BCN0)))
                val |= MT_TXD6_DIS_MAT;
        txwi[6] = cpu_to_le32(val);
        txwi[7] = 0;