Re: [PATCH net v2 3/3] net: phy: smsc: Fix link failure in forced mode with Auto-MDIX
From: Andrew Lunn
Date: Fri Jul 04 2025 - 04:38:08 EST
On Thu, Jul 03, 2025 at 01:49:41PM +0200, Oleksij Rempel wrote:
> Force a fixed MDI-X mode when auto-negotiation is disabled to prevent
> link instability.
>
> When forcing the link speed and duplex on a LAN9500 PHY (e.g., with
> `ethtool -s eth0 autoneg off ...`) while leaving MDI-X control in auto
> mode, the PHY fails to establish a stable link. This occurs because the
> PHY's Auto-MDIX algorithm is not designed to operate when
> auto-negotiation is disabled. In this state, the PHY continuously
> toggles the TX/RX signal pairs, which prevents the link partner from
> synchronizing.
That is not good. Somebody got that badly wrong. They should operate
independently.
> This patch resolves the issue by detecting when auto-negotiation is
> disabled. If the MDI-X control mode is set to 'auto', the driver now
> forces a specific, stable mode (ETH_TP_MDI) to prevent the pair
> toggling. This choice of a fixed MDI mode mirrors the behavior the
> hardware would exhibit if the AUTOMDIX_EN strap were configured for a
> fixed MDI connection.
The text implies it, rather than states it, but the code supports
setting a fixed mode before turning autoneg off. So user space does
have full control if needed.
Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
Andrew