[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <137ce1ee-0b68-4c96-a717-c8164b514eec@martin-whitaker.me.uk>
Date: Mon, 5 Aug 2024 13:15:49 +0100
From: Martin Whitaker <foss@...tin-whitaker.me.uk>
To: woojung.huh@...rochip.com, UNGLinuxDriver@...rochip.com
Cc: netdev@...r.kernel.org
Subject: Regression in KSZ9477 dsa driver - KSZ9567 et al. do not support EEE
I have an embedded processor board running Linux that incorporates a
KSZ9567 ethernet switch. When using Linux 6.1 I can establish a stable
connection between two of these boards. When using Linux 6.6, the link
repeatedly drops and reconnects every few seconds.
From bisection, this bug was introduced in the patch series "net: add
EEE support for KSZ9477 switch family" which was merged in commit
9b0bf4f77162.
As noted in the errata for these devices, EEE support is not fully
operational in the KSZ9477, KSZ9567, KSZ9896, and KSZ9897 devices,
causing link drops when connected to another device that supports EEE.
A fix for this regression was merged in commit 08c6d8bae48c2, but only
for the KSZ9477. This fix should be extended to the other affected
devices as follows:
diff --git a/drivers/net/dsa/microchip/ksz_common.c
b/drivers/net/dsa/microchip/ksz_common.c
index 419476d07fa2..091dae6ac921 100644
--- a/drivers/net/dsa/microchip/ksz_common.c
+++ b/drivers/net/dsa/microchip/ksz_common.c
@@ -2346,6 +2346,9 @@ static u32 ksz_get_phy_flags(struct dsa_switch
*ds, int port)
return MICREL_KSZ8_P1_ERRATA;
break;
case KSZ9477_CHIP_ID:
+ case KSZ9567_CHIP_ID:
+ case KSZ9896_CHIP_ID:
+ case KSZ9897_CHIP_ID:
/* KSZ9477 Errata DS80000754C
*
* Module 4: Energy Efficient Ethernet (EEE) feature
select must
I have verified this fixes the bug for the KSZ9567 on my board.
Powered by blists - more mailing lists