net: phy: bcm84881: Fix some error handling paths
[ Upstream commit 9234a2549cb6ac038bec36cc7c084218e9575513 ]
If phy_read_mmd() fails, the error code stored in 'bmsr' should be returned
instead of 'val' which is likely to be 0.
Fixes: 75f4d8d10e
("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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
ef44274dae
commit
e13ffbf5fd
@ -120,7 +120,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);
|
||||
@ -146,7 +146,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);
|
||||
|
Loading…
Reference in New Issue
Block a user