Skip to content

Commit 916e571

Browse files
hkallweitdavem330
authored andcommitted
net: phy: read MII_CTRL1000 in genphy_read_status only if needed
Value of MII_CTRL1000 is needed only if LPA_1000MSFAIL is set. Therefore move reading this register. Signed-off-by: Heiner Kallweit <[email protected]> Reviewed-by: Andrew Lunn <[email protected]> Reviewed-by: Florian Fainelli <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent a46b5b6 commit 916e571

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

drivers/net/phy/phy_device.c

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1784,7 +1784,7 @@ EXPORT_SYMBOL(genphy_update_link);
17841784
*/
17851785
int genphy_read_status(struct phy_device *phydev)
17861786
{
1787-
int adv, lpa, lpagb, err, old_link = phydev->link;
1787+
int lpa, lpagb, err, old_link = phydev->link;
17881788

17891789
/* Update the link, but return if there was an error */
17901790
err = genphy_update_link(phydev);
@@ -1806,11 +1806,12 @@ int genphy_read_status(struct phy_device *phydev)
18061806
if (lpagb < 0)
18071807
return lpagb;
18081808

1809-
adv = phy_read(phydev, MII_CTRL1000);
1810-
if (adv < 0)
1811-
return adv;
1812-
18131809
if (lpagb & LPA_1000MSFAIL) {
1810+
int adv = phy_read(phydev, MII_CTRL1000);
1811+
1812+
if (adv < 0)
1813+
return adv;
1814+
18141815
if (adv & CTL1000_ENABLE_MASTER)
18151816
phydev_err(phydev, "Master/Slave resolution failed, maybe conflicting manual settings?\n");
18161817
else

0 commit comments

Comments
 (0)