Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 916e571e authored by Heiner Kallweit's avatar Heiner Kallweit Committed by David S. Miller
Browse files

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: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent a46b5b6c
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -1784,7 +1784,7 @@ EXPORT_SYMBOL(genphy_update_link);
 */
int genphy_read_status(struct phy_device *phydev)
{
	int adv, lpa, lpagb, err, old_link = phydev->link;
	int lpa, lpagb, err, old_link = phydev->link;

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

			adv = phy_read(phydev, MII_CTRL1000);
			if (lpagb & LPA_1000MSFAIL) {
				int adv = phy_read(phydev, MII_CTRL1000);

				if (adv < 0)
					return adv;

			if (lpagb & LPA_1000MSFAIL) {
				if (adv & CTL1000_ENABLE_MASTER)
					phydev_err(phydev, "Master/Slave resolution failed, maybe conflicting manual settings?\n");
				else