summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/net/phy/phy-c45.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/net/phy/phy-c45.c b/drivers/net/phy/phy-c45.c
index 1d841efc4d79..252e49864215 100644
--- a/drivers/net/phy/phy-c45.c
+++ b/drivers/net/phy/phy-c45.c
@@ -143,12 +143,9 @@ int genphy_c45_read_link(struct phy_device *phydev, u32 mmd_mask)
devad = __ffs(mmd_mask);
mmd_mask &= ~BIT(devad);
- val = phy_read_mmd(phydev, devad, MDIO_STAT1);
- if (val < 0)
- return val;
-
- /* Read twice because link state is latched and a
- * read moves the current state into the register
+ /* The link state is latched low so that momentary link
+ * drops can be detected. Do not double-read the status
+ * register if the link is down.
*/
val = phy_read_mmd(phydev, devad, MDIO_STAT1);
if (val < 0)