]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: phy: realtek: fix in-band capabilities for 2.5G PHYs
authorJan Hoffmann <jan@3e8.eu>
Tue, 13 Jan 2026 20:55:44 +0000 (21:55 +0100)
committerJakub Kicinski <kuba@kernel.org>
Fri, 16 Jan 2026 03:52:46 +0000 (19:52 -0800)
It looks like the configuration of in-band AN only affects SGMII, and it
is always disabled for 2500Base-X. Adjust the reported capabilities
accordingly.

This is based on testing using OpenWrt on Zyxel XGS1010-12 rev A1 with
RTL8226-CG, and Zyxel XGS1210-12 rev B1 with RTL8221B-VB-CG. On these
devices, 2500Base-X in-band AN is known to work with some SFP modules
(containing an unknown PHY). However, with the built-in Realtek PHYs,
no auto-negotiation takes place, irrespective of the configuration of
the PHY.

Fixes: 10fbd71fc5f9b ("net: phy: realtek: implement configuring in-band an")
Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Reviewed-by: Daniel Golle <daniel@makrotopia.org>
Link: https://patch.msgid.link/20260113205557.503409-1-jan@3e8.eu
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/realtek/realtek_main.c

index 5a7f472bf58e18a2506ca377fd6073e2f4ebec98..7b7a48e5082a2247e4c021c8ec1d784bf0057a00 100644 (file)
@@ -1429,6 +1429,7 @@ static unsigned int rtl822x_inband_caps(struct phy_device *phydev,
 {
        switch (interface) {
        case PHY_INTERFACE_MODE_2500BASEX:
+               return LINK_INBAND_DISABLE;
        case PHY_INTERFACE_MODE_SGMII:
                return LINK_INBAND_DISABLE | LINK_INBAND_ENABLE;
        default: