Re: [PATCH wireless] Revert "wifi: mt76: Disable napi when removing device"

Devin Wittmayer <[email protected]> Tue, 4 Aug 2026 10:39:28 -0700
Newsgroups org.kernel.vger.linux-wireless,dev.linux.lists.regressions,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
The revert works here. Module unload, reboot and poweroff all work again
on an MT7922 / mt7921e, and the USB path is unchanged.

Applied on top of 7.2-rc5 with PROVE_LOCKING on a second MT7922 /
mt7921e machine, independently confirming your result. Before the revert
the first rmmod never returns: D state, refcount -1, and the same stack
you posted, taken from /proc/pid/stack and sysrq-w. With it applied, 40
of 40 load and unload cycles finish with rmmod in 0.3-0.4 s, three more
with the interface associated and receive traffic in flight all finish
under a second, and a graceful reboot and a poweroff with the driver
bound both complete normally.

mt7921e disables the same instances in its suspend and reset paths as
well, so I ran three cycles of each and unloaded after every one, to be
sure those paths leave the instances in a state the remaining disable in
mt7921e_unregister_device() still handles. They do. No warnings and no
lockdep reports in any of these runs.

Same host and kernel, USB control: mt7925u reaches mt76u_queues_deinit()
rather than mt76_dma_cleanup(), and 10 of 10 cycles on each side of the
revert behave the same.

Tested-by: Devin Wittmayer <[email protected]>