[PATCH] wifi: mt76: mt7925: remove wm2_complete_mask from mt7925_irq_map
Bert Karwatzki
spasswolf at web.de
Thu Aug 13 07:57:40 PDT 2026
Commit
c4edf9e3e0e5 ("wifi: mt76: mt7925: replace shared rx irq masks with per-chip definitions")
introduces a non-NULL wm2_complete_mask element to mt7925_irq_map. This
gives a NULL pointer dereference error when resuming from hibernate:
[ T2001] BUG: kernel NULL pointer dereference, address: 0000000000000a98
[ T2001] #PF: supervisor write access in kernel mode
[ T2001] #PF: error_code(0x0002) - not-present page
[ T2001] PGD 0 P4D 0
[ T2001] Oops: Oops: 0002 [#1] SMP NOPTI
[ T2001] CPU: 5 UID: 0 PID: 2001 Comm: kworker/u128:4 Tainted: G W 7.2.0-rc4-bisect-00876-gc4edf9e3e0e5-dirty #746 PREEMPT_RT
[ T2001] Tainted: [W]=WARN
[ T2001] Hardware name: ASUS System Product Name/ROG STRIX B850-F GAMING WIFI, BIOS 1627 02/05/2026
[ T2001] Workqueue: mt76 mt7925_mac_reset_work [mt7925_common]
[ T2001] RIP: 0010:mutex_lock+0xe/0x30
[ T2001] Code: 75 07 31 c0 c3 cc cc cc cc be 01 00 00 00 e9 79 fe ff ff 66 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 65 48 8b 15 94 13 83 00 31 c0 <f0> 48 0f b1 57 18 75 05 c3 cc cc cc cc be 02 00 00 00 e9 4b fe ff
[ T2001] RSP: 0018:ffffa53dc250fdc8 EFLAGS: 00010246
[ T2001] RAX: 0000000000000000 RBX: ffff951e8d0e3420 RCX: 0000000000000000
[ T2001] RDX: ffff951f64f145c0 RSI: 0000000000000002 RDI: 0000000000000a80
[ T2001] RBP: 0000000000000000 R08: 0000000000000004 R09: 0000000000000001
[ T2001] R10: 0000000000000000 R11: 0000000000000004 R12: ffff951e8d0e3020
[ T2001] R13: ffff951e8d0e2680 R14: ffff951e8d0e0aa0 R15: 0000000000000000
[ T2001] FS: 0000000000000000(0000) GS:ffff952ccc8b3000(0000) knlGS:0000000000000000
[ T2001] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ T2001] CR2: 0000000000000a98 CR3: 000000050641e000 CR4: 0000000000f50ef0
[ T2001] PKRU: 55555554
[ T2001] Call Trace:
[ T2001] <TASK>
[ T2001] ? napi_disable+0x18/0x40
[ T2001] ? mt7925e_mac_reset+0x2f8/0x390 [mt7925e]
[ T2001] ? mt7925_mac_reset_work+0x98/0x1c0 [mt7925_common]
[ T2001] ? drm_sched_run_job_work+0x1c/0x2d0 [gpu_sched]
[ T2001] ? pwq_dec_nr_in_flight+0x29a/0x3a0
[ T2001] ? process_one_work+0x199/0x2a0
[ T2001] ? worker_thread+0x1a0/0x2f0
[ T2001] ? rescuer_thread+0x550/0x550
[ T2001] ? kthread+0xd1/0x110
[ T2001] ? kthread_affine_node+0x100/0x100
[ T2001] ? ret_from_fork+0x1f9/0x2b0
[ T2001] ? kthread_affine_node+0x100/0x100
[ T2001] ? kthread_affine_node+0x100/0x100
[ T2001] ? ret_from_fork_asm+0x11/0x20
[ T2001] </TASK>
Remove wm2_complete_mask from mt7925_irq_map to fix the issue.
Fixes: c4edf9e3e0e5 ("wifi: mt76: mt7925: replace shared rx irq masks with per-chip definitions")
Signed-off-by: Bert Karwatzki <spasswolf at web.de>
---
drivers/net/wireless/mediatek/mt76/mt7925/pci.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/pci.c b/drivers/net/wireless/mediatek/mt76/mt7925/pci.c
index 02ef09dd797d..d2c0a78ae9f2 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7925/pci.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7925/pci.c
@@ -493,7 +493,6 @@ static const struct mt792x_irq_map mt7925_irq_map = {
.all_complete_mask = MT7925_INT_RX_DONE_ALL,
.data_complete_mask = MT7925_INT_RX_DONE_DATA,
.wm_complete_mask = MT7925_INT_RX_DONE_WM,
- .wm2_complete_mask = MT_INT_RX_DONE_WM2,
},
};
--
2.55.0
I noticed that my debian sid system running linux next-20260812 would
resume from hibernation either displaying a frozen GUI or show the
mentioned backtrace in dmesg and freezing seconds after that. I bisected
the issue to commit
c4edf9e3e0e5 ("wifi: mt76: mt7925: replace shared rx irq masks with per-chip definitions")
which introduces a non-NULL wm2_complete_mask to mt7925_irq_map.
Removing wm2_complete_mask from mt7925_irq_map fixes the issue in
next-20260812.
Bert Karwatzki
More information about the Linux-mediatek
mailing list