]> www.infradead.org Git - users/hch/configfs.git/commitdiff
net: phy: bcm84881: Fix some error handling paths
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Thu, 3 Oct 2024 19:03:21 +0000 (21:03 +0200)
committerJakub Kicinski <kuba@kernel.org>
Fri, 4 Oct 2024 23:19:00 +0000 (16:19 -0700)
If phy_read_mmd() fails, the error code stored in 'bmsr' should be returned
instead of 'val' which is likely to be 0.

Fixes: 75f4d8d10e01 ("net: phy: add Broadcom BCM84881 PHY driver")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://patch.msgid.link/3e1755b0c40340d00e089d6adae5bca2f8c79e53.1727982168.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/bcm84881.c

index f1d47c2640585b663fc12ec8e5658a2d96d450c7..97da3aee49422c85c9a70c0aa2b1c26d4088080a 100644 (file)
@@ -132,7 +132,7 @@ static int bcm84881_aneg_done(struct phy_device *phydev)
 
        bmsr = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_C22 + MII_BMSR);
        if (bmsr < 0)
-               return val;
+               return bmsr;
 
        return !!(val & MDIO_AN_STAT1_COMPLETE) &&
               !!(bmsr & BMSR_ANEGCOMPLETE);
@@ -158,7 +158,7 @@ static int bcm84881_read_status(struct phy_device *phydev)
 
        bmsr = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_C22 + MII_BMSR);
        if (bmsr < 0)
-               return val;
+               return bmsr;
 
        phydev->autoneg_complete = !!(val & MDIO_AN_STAT1_COMPLETE) &&
                                   !!(bmsr & BMSR_ANEGCOMPLETE);