]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: phy: mxl-gpy: fix bogus error on USXGMII and integrated PHY
authorDaniel Golle <daniel@makrotopia.org>
Thu, 20 Nov 2025 14:17:13 +0000 (14:17 +0000)
committerJakub Kicinski <kuba@kernel.org>
Sat, 22 Nov 2025 02:10:28 +0000 (18:10 -0800)
As the interface mode doesn't need to be updated on PHYs connected with
USXGMII and integrated PHYs, gpy_update_interface() should just return 0
in these cases rather than -EINVAL which has wrongly been introduced by
commit 7a495dde27ebc ("net: phy: mxl-gpy: Change gpy_update_interface()
function return type"), as this breaks support for those PHYs.

Fixes: 7a495dde27ebc ("net: phy: mxl-gpy: Change gpy_update_interface() function return type")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Reviewed-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/f744f721a1fcc5e2e936428c62ff2c7d94d2a293.1763648168.git.daniel@makrotopia.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/mxl-gpy.c

index 0c8dc16ee7bdea7419170ac68fd71018273eb680..221b315203d06a89a5aea37ba7e2bb88840ee44a 100644 (file)
@@ -540,7 +540,7 @@ static int gpy_update_interface(struct phy_device *phydev)
        /* Interface mode is fixed for USXGMII and integrated PHY */
        if (phydev->interface == PHY_INTERFACE_MODE_USXGMII ||
            phydev->interface == PHY_INTERFACE_MODE_INTERNAL)
-               return -EINVAL;
+               return 0;
 
        /* Automatically switch SERDES interface between SGMII and 2500-BaseX
         * according to speed. Disable ANEG in 2500-BaseX mode.