Re: [PATCH net-next v1 0/5] net: lan743x: automatically recover from TX hang
flat view
From: Nicolai Buchwitz <nb@tipi-net.de>
Date: 2026-10-19 09:47:16
Also in:
lkml
Hi Chris On 15.10.2026 17:00, Chris Babroski wrote:
Background ---------- On a custom HW platform that uses the LAN7430 NIC we have been able to reproduce a scenario where the SoC stops receiving TX completion interrupts, appearing as a TX hang. After dumping and decoding the LAN7430 registers we see that the TX channel reports that it is in started state with no error, but TX_HEAD stops advancing. TX MSI-X stops incrementing while RX interrupts continue to increment. This scenario has most often been reproduced in large server cluster environments, but it's also been seen locally during repeated SCP and iperf testing. The root cause of this issue is still unknown and we are continuing debug. It was found that bringing the interface down and up recovers the network. This issue has not been reproduced with the LAN7430 EVB connected to a standard Linux server.
A TX channel that says started, no error, with TX_HEAD not moving is also what you see when the MAC stops draining the TX FIFO. When it hangs, is the FCT TX FIFO full? Is the MAC in LPI, or paused by the link partner? Does it still happen with EEE and rx pause turned off? The other place to look is the PCIe link. We had a LAN7430 stall on a BCM2712 root complex that was also platform specific. The RC driver cleared an undocumented bit in its CLKREQ#/L1 control register. That one took the whole MMIO window down, so it is probably a different failure, but it took days of uptime to show up too. Do the Device Status or AER registers on the hung device show anything (UnsupReq, CmpltTO)? Is the link running with ASPM L1 or L1 substates on that platform?
[...]
I will have a look at the actual patches later today and test with our devices. Regards Nicolai