** Description changed:
[ Impact ]
Systems using the MediaTek MT7925 (RZ717) Wi-Fi 7 chipset suffer from
- intermittent kernel panics and hard system lockups during AP roaming,
- multi-link operations (MLO), or connection resets.
+ intermittent kernel panics and complete system lockups during Wi-Fi MAC
+ reset recovery (mt7925_mac_reset_work).
- The failure manifests as an AB-BA deadlock between cfg80211_wiphy_work
- and mt7925_roc_work, where cancel_work_sync() is invoked while holding
- the mt76 mutex, followed by a NULL pointer dereference in
- mt76_connac_mcu_uni_add_dev() during interface re-initialization.
+ The crash occurs when mt7925_vif_connect_iter() iterates over links
+ tracked in mvif->valid_links. After MLO link changes or MCU timeout
+ recovery, the driver bitmap can temporarily contain a link whose
+ mac80211 bss_conf has already been removed. The function passes a NULL
+ bss_conf pointer (register x1 = 0x0) into mt76_connac_mcu_uni_add_dev(),
+ resulting in an immediate NULL pointer dereference kernel panic:
- Once triggered, the kernel wedges, wpa_supplicant hangs in
- uninterruptible sleep (D state), and the system completely freezes,
- requiring a hard power cycle.
+ pc : mt76_connac_mcu_uni_add_dev+0x8c/0x1f8 [mt76_connac_lib]
+ lr : mt7925_vif_connect_iter+0x9c/0x168 [mt7925_common]
+ x2 : ffffff80a77f6018 x1 : 0000000000000000 x0 : ffffff8099402080
+ Call trace:
+ mt76_connac_mcu_uni_add_dev+0x8c/0x1f8 [mt76_connac_lib]
+ mt7925_vif_connect_iter+0x9c/0x168 [mt7925_common]
+ mt7925_mac_reset_work+0x264/0x2f8 [mt7925_common]
+
+ Once triggered, the kernel panics and freezes the machine, requiring a
+ physical power cycle. This affects multiple users on Framework Laptop
+ 16, Framework Desktop AMD Ryzen AI Max, and ONEXPLAYER handhelds.
[ Fix ]
- Backport the two upstream fixes merged into mainline Linux:
- - dd08ca3f092f ("wifi: mt76: mt7925: fix potential deadlock in
mt7925_roc_abort_sync")
- - 9e4d518a4707 ("wifi: mt76: mt7925: pass mlink to mac_link_sta_remove()")
+ Backport upstream Linux commit:
+ - bd8b2ec83818 ("wifi: mt76: mt7925: fix crash in reset link replay")
- These commits fix the mutex locking order during remain-on-channel (ROC)
- abort and ensure mlink is properly passed during station removal,
- preventing the NULL pointer dereference and deadlock during WiFi reset.
+ This surgical fix checks the bss_conf pointer returned by
+ mt792x_vif_to_bss_conf(vif, i) and skips missing entries (if (!bss_conf)
+ continue;) before replaying the link to the firmware. Non-MLO AP/STA
+ reset replay remains unchanged.
[ Test Plan ]
- 1. Setup: A system with the MediaTek MT7925 (RZ717) Wi-Fi 7 adapter (e.g.
Framework Desktop AMD Ryzen AI Max 300 / Framework 16) running Ubuntu.
- 2. Connect to a multi-band Wi-Fi network (2.4 / 5 / 6 GHz) and trigger rapid
roaming or forced AP re-association.
- 3. Check system behavior:
- - Without fix: Association failures trigger mt7925_mac_reset_work, leading
to NULL dereference in mt76_connac_mcu_uni_add_dev() and immediate hard freeze.
- - With fix: WiFi disconnects, resets, and roaming complete cleanly. No
kernel panics, zero D-state tasks, and zero lockdep splats appear in dmesg.
+ 1. Setup: A system equipped with a MediaTek MT7925 (RZ717) Wi-Fi 7 PCI
adapter (e.g. Framework Desktop AMD Ryzen AI Max 300 / Framework 16) running
Ubuntu.
+ 2. Connect to an AP and trigger repeated Wi-Fi reset conditions (e.g. forced
AP deauthentication, association timeout injection, or rapid roaming across
2.4/5/6 GHz bands).
+ 3. Observe system behavior during mt7925_mac_reset_work:
+ - Without fix: System triggers mt7925_mac_reset_work, dereferences NULL
bss_conf in mt76_connac_mcu_uni_add_dev, and hard freezes in kernel panic.
+ - With fix: Driver skips non-existent bss_conf entries, link replay
finishes cleanly, Wi-Fi recovers connection, and 0 kernel oops or panic traces
appear in dmesg.
[ Where problems could occur ]
- The changes are strictly isolated to
- drivers/net/wireless/mediatek/mt76/mt7925/.
-
- They ensure mutex locking order is preserved during ROC abort and pass
- valid station link structures. Regression risk is very low and
- restricted exclusively to MT7925 wireless devices.
+ The fix is minimal (3 lines added in
+ drivers/net/wireless/mediatek/mt76/mt7925/mac.c). It is strictly scoped
+ to the MT7925 driver reset worker. It only skips NULL bss_conf pointers
+ that would otherwise crash the kernel. Regression risk is very low and
+ restricted exclusively to MediaTek MT7925 wireless devices.
[ Other Info ]
- - Upstream commits: Mainline Linux commits dd08ca3f092f and 9e4d518a4707.
- - Target releases: Ubuntu 24.04 LTS (Noble linux-hwe-6.8), Ubuntu 25.10
(Questing linux 6.17), Ubuntu 26.04 (Resolute linux 7.0).
- - User verification: Fix was verified and confirmed working by users across
6.17 and 7.0 kernel lines.
+ - Upstream commit: Mainline Linux commit bd8b2ec83818 ("wifi: mt76: mt7925:
fix crash in reset link replay") by Sean Wang (MediaTek).
+ - Target releases:
+ - Ubuntu 26.04 (Resolute linux 7.0)
+ - Ubuntu 24.04 LTS (Noble linux-hwe-7.0, linux-hwe-6.8)
+ - Ubuntu 25.10 (Questing linux 6.17)
+ - Scope clarification:
+ 1. The separate ROC deadlock issue was fixed by upstream commit
dd08ca3f092f ("wifi: mt76: mt7925: fix potential deadlock in
mt7925_roc_abort_sync"), which is already present in Ubuntu 7.0 kernels since
7.0.0-28.28.
+ 2. Upstream commit 9e4d518a4707 ("wifi: mt76: mt7925: pass mlink to
mac_link_sta_remove()") is deliberately EXCLUDED as it does not address this
crash and causes an MLO connectivity-stall regression.
+ 3. This SRU specifically delivers the missing reset link replay NULL
dereference fix (bd8b2ec83818).
--- [ Original Report ]
(Refiling this bug with more data from `ubuntu-bug linux` and a correct title)
System experiences kernel panics causing complete lockups when the mt7925e
WiFi driver
attempts to reset after association failures.
Hardware: Framework Desktop (AMD Ryzen AI Max 300 Series)
BIOS: 03.04 (11/19/2025)
WiFi Card: MediaTek MT7925 (RZ717) Wi-Fi 7 at c0:00.0
Firmware: Build Time: 20250721232943
Root Cause:
NULL pointer dereference in mt76_connac_mcu_uni_add_dev() function at offset
0xba
during WiFi MAC reset workflow.
Crash Pattern:
1. WiFi association attempts fail/timeout with AP
2. Driver logs "Message timeout" errors (sequences 6-10)
3. mt7925_mac_reset_work initiated
4. During interface re-initialization via ieee80211_iterate_interfaces
5. mt76_connac_mcu_uni_add_dev attempts to dereference NULL pointer
6. Kernel panic - system completely locks up
Frequency: Multiple crashes per day, making system unusable
This appears to be a known issue affecting multiple users on Ubuntu 25.10
kernel 6.17.0-8 with this hardware.
ProblemType: Bug
DistroRelease: Ubuntu 25.10
Package: linux-image-6.17.0-8-generic 6.17.0-8.8
ProcVersionSignature: Ubuntu 6.17.0-8.8-generic 6.17.2
Uname: Linux 6.17.0-8-generic x86_64
ApportVersion: 2.33.1-0ubuntu3
Architecture: amd64
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/controlC1: gdm-greeter 6080 F.... wireplumber
/dev/snd/controlC0: gdm-greeter 6080 F.... wireplumber
/dev/snd/seq: gdm-greeter 6066 F.... pipewire
CasperMD5CheckResult: pass
Date: Tue Dec 30 17:36:29 2025
InstallationDate: Installed on 2025-11-30 (30 days ago)
InstallationMedia: Ubuntu 25.10 "Questing Quokka" - Release amd64 (20251007)
MachineType: Framework Desktop (AMD Ryzen AI Max 300 Series)
ProcEnviron:
LANG=en_US.UTF-8
PATH=(custom, no user)
SHELL=/bin/bash
TERM=xterm-ghostty
ProcFB: 0 amdgpudrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-6.17.0-8-generic
root=UUID=7c001a2e-fa2b-447b-98ee-6322215addb9 ro quiet splash
crashkernel=2G-4G:320M,4G-32G:512M,32G-64G:1024M,64G-128G:2048M,128G-:4096M
vt.handoff=7
RelatedPackageVersions:
firmware-sof N/A
linux-firmware 20250901.git993ff19b-0ubuntu1.4
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 11/19/2025
dmi.bios.release: 3.4
dmi.bios.vendor: INSYDE Corp.
dmi.bios.version: 03.04
dmi.board.asset.tag: *
dmi.board.name: FRANMFCP06
dmi.board.vendor: Framework
dmi.board.version: A6
dmi.chassis.asset.tag: FRAMDACPA65382007P
dmi.chassis.type: 35
dmi.chassis.vendor: Framework
dmi.chassis.version: A6
dmi.modalias:
dmi:bvnINSYDECorp.:bvr03.04:bd11/19/2025:br3.4:svnFramework:pnDesktop(AMDRyzenAIMax300Series):pvrA6:rvnFramework:rnFRANMFCP06:rvrA6:cvnFramework:ct35:cvrA6:skuFRAMDACP06:
dmi.product.family: Desktop
dmi.product.name: Desktop (AMD Ryzen AI Max 300 Series)
dmi.product.sku: FRAMDACP06
dmi.product.version: A6
dmi.sys.vendor: Framework
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2137291
Title:
mt7925e: Kernel panic NULL pointer dereference in
mt76_connac_mcu_uni_add_dev during WiFi reset - Framework Desktop
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2137291/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs