[PATCH wireless 3/4] wifi: mt76: mt792x: pass monitors to the driver as real vifs

Devin Wittmayer lucid_duck at justthetip.ca
Tue Oct 27 12:58:02 PDT 2026


From: Mark Anthony Agarro <markanthonyagarro at gmail.com>

An active monitor on mt7921, and on mt7925 other than MT7927, never
gets a channel: its request goes to the shared virtual monitor, which
it does not use.

Pass every mt792x monitor to the driver as its own vif, as MT7927
already does. Commit 55e95ce469d0 ("wifi: mt76: mt792x: improve monitor
interface handling") did this and was reverted because capture stopped.
Commit a7d35545c2ce ("wifi: mt76: mt7921: assert sniffer on chanctx
change") and the previous two commits arm the sniffer it was missing.

Signed-off-by: Mark Anthony Agarro <markanthonyagarro at gmail.com>
Signed-off-by: Devin Wittmayer <lucid_duck at justthetip.ca>
---
 drivers/net/wireless/mediatek/mt76/mt792x_core.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/net/wireless/mediatek/mt76/mt792x_core.c b/drivers/net/wireless/mediatek/mt76/mt792x_core.c
index dbea3c2e626f..dcb244a3f8ea 100644
--- a/drivers/net/wireless/mediatek/mt76/mt792x_core.c
+++ b/drivers/net/wireless/mediatek/mt76/mt792x_core.c
@@ -835,10 +835,7 @@ int mt792x_init_wiphy(struct ieee80211_hw *hw)
 	ieee80211_hw_set(hw, HAS_RATE_CONTROL);
 	ieee80211_hw_set(hw, SUPPORTS_TX_ENCAP_OFFLOAD);
 	ieee80211_hw_set(hw, SUPPORTS_RX_DECAP_OFFLOAD);
-	if (is_mt7927(&dev->mt76))
-		ieee80211_hw_set(hw, NO_VIRTUAL_MONITOR);
-	else
-		ieee80211_hw_set(hw, WANT_MONITOR_VIF);
+	ieee80211_hw_set(hw, NO_VIRTUAL_MONITOR);
 	ieee80211_hw_set(hw, SUPPORTS_PS);
 	ieee80211_hw_set(hw, SUPPORTS_DYNAMIC_PS);
 	ieee80211_hw_set(hw, SUPPORTS_VHT_EXT_NSS_BW);
-- 
2.56.0




More information about the Linux-mediatek mailing list