[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250701122146.35579-1-o.rempel@pengutronix.de>
Date: Tue, 1 Jul 2025 14:21:42 +0200
From: Oleksij Rempel <o.rempel@...gutronix.de>
To: Andrew Lunn <andrew@...n.ch>,
Heiner Kallweit <hkallweit1@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>
Cc: Oleksij Rempel <o.rempel@...gutronix.de>,
kernel@...gutronix.de,
linux-kernel@...r.kernel.org,
Russell King <linux@...linux.org.uk>,
netdev@...r.kernel.org,
Andre Edich <andre.edich@...rochip.com>,
Lukas Wunner <lukas@...ner.de>
Subject: [PATCH net v1 0/4] net: phy: smsc: robustness fixes for LAN87xx/LAN9500
Hi all,
The SMSC 10/100 PHYs (LAN87xx family) found in smsc95xx (lan95xx)
USB-Ethernet adapters show several quirks around the Auto-MDIX feature:
- A hardware strap (AUTOMDIX_EN) may boot the PHY in fixed-MDI mode, and
the current driver cannot always override it.
- When Auto-MDIX is left enabled while autonegotiation is forced off,
the PHY endlessly swaps the TX/RX pairs and never links up.
- The driver sets the enable bit for Auto-MDIX but forgets the override
bit, so userspace requests are silently ignored.
- Rapid configuration changes can wedge the link if PHY IRQs are
enabled.
The four patches below make the MDIX state fully predictable and prevent
link failures in every tested strap / autoneg / MDI-X permutation.
Tested on LAN9512 Eval board.
Best Regards,
Oleksij
Oleksij Rempel (4):
net: phy: smsc: Fix Auto-MDIX configuration when disabled by strap
net: phy: smsc: Force predictable MDI-X state on LAN87xx
net: phy: smsc: Fix link failure in forced mode with Auto-MDIX
net: phy: smsc: Disable IRQ support to prevent link state corruption
drivers/net/phy/smsc.c | 61 +++++++++++++++++++++++++++++++++++-------
1 file changed, 52 insertions(+), 9 deletions(-)
--
2.39.5
Powered by blists - more mailing lists