Re: [PATCH wireless] Revert "wifi: mt76: Disable napi when removing device"
Andrey Golovko <[email protected]>
| Newsgroups | org.kernel.vger.linux-wireless,dev.linux.lists.regressions,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Tested-by: Andrey Golovko <[email protected]> Third machine, third form factor: an ASUS ProArt PX13 HN7306EAC, AMD Strix Halo, MT7925 on PCIe (14c3:7925, mt7925e). Kernel is v7.2-rc6 plus unrelated ASoC patches, so the regression is still there in rc6 and rc7 - the 7.2 release is about to ship with it. Before the revert: every poweroff and every reboot hangs after the displays go off, machine stays powered, only holding the power button recovers it. 'modprobe -r mt7925e' hangs the same way, with the stack you posted: napi_disable_locked+0xe9/0x100 napi_disable+0x25/0x50 mt76_dma_cleanup+0x178/0x370 [mt76] mt792x_dma_cleanup+0x8f/0xb0 [mt792x_lib] mt7925_pci_remove+0xd7/0x1a0 [mt7925e] After the revert: five poweroffs and one reboot in a row, all clean, and 'modprobe -r mt7925e' returns immediately. One thing that may save the next person some time. The hang is silent - no watchdog fires, and here even the panic-on-stall sysctls were all set to 1 by kdump-tools, so hung_task_panic could not catch it either. But device_shutdown() prints "<device>: shutdown" before each callback when initcall_debug is on, so booting with initcall_debug nomodeset names the culprit on the console: nomodeset keeps amdgpu from taking over the framebuffer, so efifb survives to the end of the shutdown, and the last line on the screen is mt7925e 0000:c2:00.0: shutdown with no "reboot: Power down" after it. That points at the guilty .shutdown callback in one boot, without netconsole and without a serial port, which on a laptop is the difference between diagnosable and not. Andrey