[BUG] btmtk: MT7925 (0e8d:e025) firmware ASSERT in sys_log_interface_emi.c #1185 during A2DP streaming, regression since fw 20260605184935
overfion
overfion at proton.me
Thu Oct 15 07:17:35 PDT 2026
Hi,
The MT7925 Bluetooth firmware on my laptop asserts several times per day
while streaming A2DP to a headset. btmtk collects a coredump, btusb
resets the USB device and the controller re-enumerates as a new hciN,
dropping the headset.
Hardware: Lenovo ThinkPad P14s Gen 6 AMD (21QMS1HT00), BIOS R2XET42W (1.22) 2026-09-07
Chip: MT7925, BT over USB 0e8d:e025 (WiFi on PCIe 14c3:7925, mt7925e)
BT fw: BT_RAM_CODE_MT7925_1_1_hdr.bin, Build Time 20260813113236
(t-neptune-main-mt7925-2249-MT7925_E1_ASIC_ROM_RAM_CE_2249_CCN16-20260813112803)
Kernels: reproduced on Arch linux, linux-lts, linux-zen and CachyOS linux
kernels, 7.0.12 through 7.2.9
Userspace: bluez 5.87, pipewire + wireplumber
Headset: Logitech G435, A2DP sink, AAC codec
WiFi: connected on 5 GHz (channel 48)
Firmware assert (identical in every dump I collected):
<ASSERT> ../bluetooth/system/debug/sys_log_interface_emi.c #1185 - 0, 0x6454,
0x1010707, 0xFF150001, BTSYS, id=0x0 idle, isr=0x943CA8, irq=0x3,
lr=0x960AC8, asr_t=103074398
;etype:ASSERT, sp=0x2215A30, lp=0x960AC8
;exp_main: jump from cos_assert
A btmon capture shows no HCI commands from the host in the 316 seconds
before the assert, only A2DP ACL data (dlen ~530-555, every ~21 ms) and
Number of Completed Packets events. The assert fires in ISR context in
the firmware's log/EMI path, not in response to a host command.
Kernel side:
Bluetooth: hci0: Mediatek coredump end
usb 3-5.1: reset high-speed USB device number 5 using xhci_hcd
Bluetooth: hci1: HW/SW Version: 0x00000000, Build Time: 20260813113236
Bluetooth: hci1: Device setup in 1750899 usecs
Sometimes it asserts again seconds after recovery, followed by a
command timeout and another reset:
Bluetooth: hci1: Mediatek coredump end
Bluetooth: hci1: Opcode 0x2039 failed: -110
usb 3-5.1: reset high-speed USB device number 5 using xhci_hcd
Regression: no failures on fw 20260414153243 (5 weeks, same headset and
usage). Failures started the day 20260605184935 was installed and
continue on 20260813113236.
Already tried, no effect: btusb.enable_autosuspend=0, mt7925e
disable_aspm=1, WiFi power save off.
I have 2 devcoredumps (~1 MB each) and the btmon capture (12 MB). I can
send them off-list, test firmware builds or patches, or collect more
traces.
Thanks,
fion
More information about the Linux-mediatek
mailing list