developer | d0c8945 | 2024-10-11 16:53:27 +0800 | [diff] [blame^] | 1 | From 4fa8ea3f212978e36a7b9489505545f655d7e3e1 Mon Sep 17 00:00:00 2001 |
developer | 66e89bc | 2024-04-23 14:50:01 +0800 | [diff] [blame] | 2 | From: Shayne Chen <shayne.chen@mediatek.com> |
| 3 | Date: Thu, 26 Oct 2023 17:27:43 +0800 |
developer | d0c8945 | 2024-10-11 16:53:27 +0800 | [diff] [blame^] | 4 | Subject: [PATCH 059/223] mtk: mt76: mt7996: do not report netdev stats on |
developer | 05f3b2b | 2024-08-19 19:17:34 +0800 | [diff] [blame] | 5 | monitor vif |
developer | 66e89bc | 2024-04-23 14:50:01 +0800 | [diff] [blame] | 6 | |
| 7 | This 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 | |
developer | d0c8945 | 2024-10-11 16:53:27 +0800 | [diff] [blame^] | 16 | Change-Id: I66f2449401888255bf8d3edddc1d9f20bd8ba3e7 |
developer | 66e89bc | 2024-04-23 14:50:01 +0800 | [diff] [blame] | 17 | Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> |
| 18 | --- |
| 19 | mt7996/mcu.c | 3 +++ |
| 20 | 1 file changed, 3 insertions(+) |
| 21 | |
| 22 | diff --git a/mt7996/mcu.c b/mt7996/mcu.c |
developer | d0c8945 | 2024-10-11 16:53:27 +0800 | [diff] [blame^] | 23 | index 8b84c9dc..6b7a5372 100644 |
developer | 66e89bc | 2024-04-23 14:50:01 +0800 | [diff] [blame] | 24 | --- a/mt7996/mcu.c |
| 25 | +++ b/mt7996/mcu.c |
developer | d0c8945 | 2024-10-11 16:53:27 +0800 | [diff] [blame^] | 26 | @@ -545,6 +545,9 @@ static inline void __mt7996_stat_to_netdev(struct mt76_phy *mphy, |
developer | 66e89bc | 2024-04-23 14:50:01 +0800 | [diff] [blame] | 27 | drv_priv); |
| 28 | wdev = ieee80211_vif_to_wdev(vif); |
| 29 | |
| 30 | + if (vif->type == NL80211_IFTYPE_MONITOR) |
| 31 | + return; |
| 32 | + |
| 33 | dev_sw_netstats_tx_add(wdev->netdev, tx_packets, tx_bytes); |
| 34 | dev_sw_netstats_rx_add(wdev->netdev, rx_packets, rx_bytes); |
| 35 | } |
| 36 | -- |
developer | d0c8945 | 2024-10-11 16:53:27 +0800 | [diff] [blame^] | 37 | 2.45.2 |
developer | 66e89bc | 2024-04-23 14:50:01 +0800 | [diff] [blame] | 38 | |