blob: 26dc702ed766bf576ef8d0b1db20bfe908e32c75 [file] [log] [blame]
developer43a264f2024-03-26 14:09:54 +08001From 1b648b7fe779a9862e966a27d274ac42c24e4bcd Mon Sep 17 00:00:00 2001
developerd243af02023-12-21 14:49:33 +08002From: Shayne Chen <shayne.chen@mediatek.com>
3Date: Thu, 26 Oct 2023 17:27:43 +0800
developerebda9012024-02-22 13:42:45 +08004Subject: [PATCH 2010/2032] mtk: wifi: mt76: mt7996: do not report netdev stats
developerd243af02023-12-21 14:49:33 +08005 on monitor vif
6
7This fixes the following NULL pointer crash when enabling monitor mode:
8[ 205.593158] Call trace:
9[ 205.595597] mt7996_mcu_rx_event+0x4a0/0x6e8 [mt7996e]
10[ 205.600725] mt7996_queue_rx_skb+0x6e4/0xfa0 [mt7996e]
11[ 205.605851] mt76_dma_rx_poll+0x384/0x420 [mt76]
12[ 205.610459] __napi_poll+0x38/0x1c0
13[ 205.613935] napi_threaded_poll+0x80/0xe8
14[ 205.617934] kthread+0x124/0x128
15
16Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
17---
18 mt7996/mcu.c | 3 +++
19 1 file changed, 3 insertions(+)
20
21diff --git a/mt7996/mcu.c b/mt7996/mcu.c
developer43a264f2024-03-26 14:09:54 +080022index 479eee0e..15644029 100644
developerd243af02023-12-21 14:49:33 +080023--- a/mt7996/mcu.c
24+++ b/mt7996/mcu.c
25@@ -537,6 +537,9 @@ static inline void __mt7996_stat_to_netdev(struct mt76_phy *mphy,
26 drv_priv);
27 wdev = ieee80211_vif_to_wdev(vif);
28
29+ if (vif->type == NL80211_IFTYPE_MONITOR)
30+ return;
31+
32 dev_sw_netstats_tx_add(wdev->netdev, tx_packets, tx_bytes);
33 dev_sw_netstats_rx_add(wdev->netdev, rx_packets, rx_bytes);
34 }
35--
362.18.0
37