]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 6 Dec 2025 21:24:54 +0000 (06:24 +0900)
[ Upstream commit ec3803b5917b6ff2f86ea965d0985c95d8a85119 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/phy/mxl-gpy.c

index e5f8ac4b4604bdbaa7149fbb72e89a26cca015cd..17b0654644de58ec89d73a139e4b7d21c2bea3ca 100644 (file)
@@ -523,7 +523,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.