summaryrefslogtreecommitdiffstats
path: root/drivers/net/phy/phy-c45.c
diff options
context:
space:
mode:
authorJoel Stanley <joel@jms.id.au>2019-04-08 12:35:00 +0930
committerJoel Stanley <joel@jms.id.au>2019-04-08 12:35:05 +0930
commit0b37f9a0bd24d9622f75d981feac67e72351b6e8 (patch)
treed40154b713e136a2d9dfb3fcb1903dd730bd234f /drivers/net/phy/phy-c45.c
parentdf66fbc97853fbba90a0bfa44de32f3d5f7602b4 (diff)
parent8b298d3a0bd5feeb47129c4889356b38b78ab231 (diff)
downloadtalos-obmc-linux-0b37f9a0bd24d9622f75d981feac67e72351b6e8.tar.gz
talos-obmc-linux-0b37f9a0bd24d9622f75d981feac67e72351b6e8.zip
Merge tag 'v5.0.7' into dev-5.0
This is the 5.0.7 stable release Signed-off-by: Joel Stanley <joel@jms.id.au>
Diffstat (limited to 'drivers/net/phy/phy-c45.c')
-rw-r--r--drivers/net/phy/phy-c45.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/phy/phy-c45.c b/drivers/net/phy/phy-c45.c
index 03af927fa5ad..e39bf0428dd9 100644
--- a/drivers/net/phy/phy-c45.c
+++ b/drivers/net/phy/phy-c45.c
@@ -147,9 +147,15 @@ int genphy_c45_read_link(struct phy_device *phydev, u32 mmd_mask)
mmd_mask &= ~BIT(devad);
/* 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.
+ * drops can be detected. Do not double-read the status
+ * in polling mode to detect such short link drops.
*/
+ if (!phy_polling_mode(phydev)) {
+ val = phy_read_mmd(phydev, devad, MDIO_STAT1);
+ if (val < 0)
+ return val;
+ }
+
val = phy_read_mmd(phydev, devad, MDIO_STAT1);
if (val < 0)
return val;
OpenPOWER on IntegriCloud