]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: mt76: mt7996: Disable Rx hdr_trans in monitor mode
authorRyder Lee <ryder.lee@mediatek.com>
Fri, 13 Feb 2026 08:00:29 +0000 (00:00 -0800)
committerFelix Fietkau <nbd@nbd.name>
Tue, 24 Mar 2026 15:49:30 +0000 (15:49 +0000)
Ensure raw frames are captured without header modification.

Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
Link: https://patch.msgid.link/04008426d6cd5de3995beefb98f9d13f35526c25.1770969275.git.ryder.lee@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7996/main.c
drivers/net/wireless/mediatek/mt76/mt7996/regs.h

index c6d14f09fd10dd1e69330f4c9b29e2b559c3be96..06f4c653ed675a60a2428430ad52022121278cec 100644 (file)
@@ -482,6 +482,8 @@ static void mt7996_set_monitor(struct mt7996_phy *phy, bool enabled)
 
        mt76_rmw_field(dev, MT_DMA_DCR0(phy->mt76->band_idx),
                       MT_DMA_DCR0_RXD_G5_EN, enabled);
+       mt76_rmw_field(dev, MT_MDP_DCR0,
+                      MT_MDP_DCR0_RX_HDR_TRANS_EN, !enabled);
        mt7996_phy_set_rxfilter(phy);
        mt7996_mcu_set_sniffer_mode(phy, enabled);
 }
index e48e0e575b646090640c75dea289f2de3affcc13..393faae2d52b6c6cddc99644343eddfc7b3e2b0e 100644 (file)
@@ -159,6 +159,9 @@ enum offs_rev {
 #define MT_MDP_BASE                            0x820cc000
 #define MT_MDP(ofs)                            (MT_MDP_BASE + (ofs))
 
+#define MT_MDP_DCR0                            MT_MDP(0x800)
+#define MT_MDP_DCR0_RX_HDR_TRANS_EN            BIT(19)
+
 #define MT_MDP_DCR2                            MT_MDP(0x8e8)
 #define MT_MDP_DCR2_RX_TRANS_SHORT             BIT(2)