Re: [PATCH net] net: phy: microchip: force IRQ polling mode for lan88xx

From: Fiona Klute
Date: Tue Apr 15 2025 - 07:44:30 EST


Am 14.04.25 um 17:43 schrieb Andrew Lunn:
On Mon, Apr 14, 2025 at 05:26:33PM +0200, Fiona Klute wrote:
With lan88xx based devices the lan78xx driver can get stuck in an
interrupt loop while bringing the device up, flooding the kernel log
with messages like the following:

lan78xx 2-3:1.0 enp1s0u3: kevent 4 may have been dropped

Removing interrupt support from the lan88xx PHY driver forces the
driver to use polling instead, which avoids the problem.

The issue has been observed with Raspberry Pi devices at least since
4.14 (see [1], bug report for their downstream kernel), as well as
with Nvidia devices [2] in 2020, where disabling polling was the
vendor-suggested workaround (together with the claim that phylib
changes in 4.9 made the interrupt handling in lan78xx incompatible).

Iperf reports well over 900Mbits/sec per direction with client in
--dualtest mode, so there does not seem to be a significant impact on
throughput (lan88xx device connected via switch to the peer).

[1] https://github.com/raspberrypi/linux/issues/2447
[2] https://forums.developer.nvidia.com/t/jetson-xavier-and-lan7800-problem/142134/11

Link: https://lore.kernel.org/0901d90d-3f20-4a10-b680-9c978e04ddda@xxxxxxx
Signed-off-by: Fiona Klute <fiona.klute@xxxxxx>
Cc: kernel-list@xxxxxxxxxxxxxxx
Cc: stable@xxxxxxxxxxxxxxx

Thanks for submitting this. Two nit picks:

It needed a Fixes: tag. Probably:

Fixes: 792aec47d59d ("add microchip LAN88xx phy driver")
Sure, will add that (and a comment) and resend. I wasn't sure if I
should add it if I can't pinpoint exactly where the problem was
introduced, and it looks like the interrupt handling was changed a bit
after.

Best regards,
Fiona