* mt7921e: failure to reset causes network drop
@ 2026-08-04 10:19 moosager
2026-09-10 5:50 ` Devin Wittmayer
0 siblings, 1 reply; 4+ messages in thread
From: moosager @ 2026-08-04 10:19 UTC (permalink / raw)
To: nbd, lorenzo, ryder.lee, shayne.chen, sean.wang, matthias.bgg,
angelogioacchino.delregno
Cc: linux-mediatek, linux-wireless
Hello,
there is an issue with the mt7291e that causes the network to drop at random,
with dmesg outputting repeatedly:
kernel: mt7921e 0000:62:00.0: Timeout for driver own
kernel: mt7921e 0000:62:00.0: driver own failed
Other effects are the system becoming generally unresponsive, kernel panics
(reporting "Fatal exception in interrupt"), and the system instantly rebooting.
It also has a tendency to happen again on every subsequent reboot.
More reports of users' experiences are available at [1].
This script lets you reproduce the issue:
#!/bin/sh
echo 0x7c060010 > /sys/kernel/debug/ieee80211/phy0/mt76/regidx
while true; do echo 0xffffffff > /sys/kernel/debug/ieee80211/phy0/mt76/regval ; done
I had previously investigated the code and have some potential insight: during
normal usage, the function __mt792xe_mcu_drv_pmctrl writes to a register
like this:
mt76_wr(dev, MT_CONN_ON_LPCTL, PCIE_LPCR_HOST_CLR_OWN);
and it expects to find 0x00000004 (which is PCIE_LPCR_HOST_OWN_SYNC). Instead,
when the issue happens, it finds 0xffffffff, which does not change even after
the driver attempts to write to it.
In addition, the failure of __mt792xe_mcu_drv_pmctrl returns -5 as an error
code; this is not checked by the caller, mt7921e_mac_reset, which calls
mt792xe_mcu_drv_pmctrl without checking its return value.
I have also found some potentially helpful patches at [2]; however, applying
them did not fix it, and my best attempts at adapting the proposed code paths to
be triggered in mt7921e_mac_reset have not fixed it either.
Here is my firmware version reported in dmesg:
[ 15.848101] mt7921e 0000:62:00.0: enabling device (0000 -> 0002)
[ 15.849369] mt7921e 0000:62:00.0: disabling ASPM L1
[ 15.865381] mt7921e 0000:62:00.0: ASIC revision: 79220010
[ 15.958433] mt7921e 0000:62:00.0: HW/SW Version: 0x8a108a10, Build Time: 20260605203307a
[ 16.352504] mt7921e 0000:62:00.0: WM Firmware Version: ____000000, Build Time: 20260605203411
It has also been happening at least since the firmware with HW/SW build time
20251118163143a and WM firmware build time 20251118163234, which is when I got
my laptop with this Wi-Fi chip.
Note: the issue happens whether ASPM is on or off.
The issue happens on my build of the vanilla 7.2.0-rc4 kernel, as it has
been happening on every past kernel version.
I would like some guidance as to how I could debug the issue further, though
ultimately the problem is likely in the firmware. It would be very helpful to
have this fixed, as it currently makes my laptop almost unusable, and I know I'm
not the only user having this issue.
[1] https://bugzilla.kernel.org/show_bug.cgi?id=220353
[2] https://lore.kernel.org/linux-mediatek/20260506070458.3096180-1-jb.tsai@mediatek.com/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: mt7921e: failure to reset causes network drop
2026-08-04 10:19 mt7921e: failure to reset causes network drop moosager
@ 2026-09-10 5:50 ` Devin Wittmayer
2026-09-12 15:53 ` moosager
0 siblings, 1 reply; 4+ messages in thread
From: Devin Wittmayer @ 2026-09-10 5:50 UTC (permalink / raw)
To: moosager; +Cc: linux-wireless, Felix Fietkau
moosager,
Sorry this sat so long. You were right about the unchecked return. There
is a patch for it that the maintainer has taken, though it has not reached
a release yet:
14739102 mt7921: check drv_pmctrl return in the PCIe reset path
14739848 mt7925, same
It sits downstream of your bad read though, so it will not stop the
register going wrong in the first place.
On debugging further, I had the same ownership handshake fail on a mini
PC here. What that ruled out, so you can skip them: in-tree against
out-of-tree builds, a PCI bus reset, remove and rescan, and a cold boot.
The Bluetooth half of the same chip kept working throughout, so the
silicon was alive and only the WiFi side was stuck.
Devin
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: mt7921e: failure to reset causes network drop
2026-09-10 5:50 ` Devin Wittmayer
@ 2026-09-12 15:53 ` moosager
2026-09-14 21:27 ` Devin Wittmayer
0 siblings, 1 reply; 4+ messages in thread
From: moosager @ 2026-09-12 15:53 UTC (permalink / raw)
To: Devin Wittmayer; +Cc: linux-wireless, Felix Fietkau
Hi Devin,
> On debugging further, I had the same ownership handshake fail on a mini PC
> here. What that ruled out, so you can skip them: in-tree against out-of-tree
> builds, a PCI bus reset, remove and rescan, and a cold boot. The Bluetooth
> half of the same chip kept working throughout, so the silicon was alive and
> only the WiFi side was stuck.
I can confirm these are the things I've had to rule out with my testing as well.
I can also attest to the fact that the Bluetooth half of the chip works
regardless of the Wi-Fi's state (I should've mentioned that earlier): I've used
my laptop for a while with mt7921e unloaded, all the while Bluetooth was working
the whole time.
> There is a patch for it that the maintainer has taken
Good, though I don't see which tree it has been merged in, I'm sure I'll see it
soon in a future release.
> It sits downstream of your bad read though, so it will not stop the
> register going wrong in the first place.
True, I will stress that the root cause has not been found yet and this chip is
still unusable for me (and others).
Sorry for the late reply, I'll test the output of lspci as well when I get the
chance to debug this further.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: mt7921e: failure to reset causes network drop
2026-09-12 15:53 ` moosager
@ 2026-09-14 21:27 ` Devin Wittmayer
0 siblings, 0 replies; 4+ messages in thread
From: Devin Wittmayer @ 2026-09-14 21:27 UTC (permalink / raw)
To: moosager; +Cc: linux-wireless, Felix Fietkau
moosager,
Thanks for confirming the ruling-out list, and the Bluetooth detail is
worth having on the thread.
On which tree. Patchwork says accepted, which means a maintainer took it
and says nothing about mainline. That is why you could not find it.
openwrt/mt76 8e856ad93d3a mt7921, applied 27 August
4f2aa9910e0c mt7925, applied 27 August
mainline neither, checked today
Mainline still ignores the return in both of those resets, and I would
not put a date on when that changes.
Your Tested-by went on the mt7921 one.
Devin
On Sat, 12 Sep 2026, moosager wrote:
> Hi Devin,
>
> > On debugging further, I had the same ownership handshake fail on a mini PC
> > here. What that ruled out, so you can skip them: in-tree against out-of-tree
> > builds, a PCI bus reset, remove and rescan, and a cold boot. The Bluetooth
> > half of the same chip kept working throughout, so the silicon was alive and
> > only the WiFi side was stuck.
>
> I can confirm these are the things I've had to rule out with my testing as well.
> I can also attest to the fact that the Bluetooth half of the chip works
> regardless of the Wi-Fi's state (I should've mentioned that earlier): I've used
> my laptop for a while with mt7921e unloaded, all the while Bluetooth was working
> the whole time.
>
> > There is a patch for it that the maintainer has taken
>
> Good, though I don't see which tree it has been merged in, I'm sure I'll see it
> soon in a future release.
>
> > It sits downstream of your bad read though, so it will not stop the
> > register going wrong in the first place.
>
> True, I will stress that the root cause has not been found yet and this chip is
> still unusable for me (and others).
>
> Sorry for the late reply, I'll test the output of lspci as well when I get the
> chance to debug this further.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-09-14 21:27 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-04 10:19 mt7921e: failure to reset causes network drop moosager
2026-09-10 5:50 ` Devin Wittmayer
2026-09-12 15:53 ` moosager
2026-09-14 21:27 ` Devin Wittmayer
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.