diff options
Diffstat (limited to 'target/linux/mvebu/patches-4.9/409-net-phy-don-t-double-read-clause-45-status-register.patch')
-rw-r--r-- | target/linux/mvebu/patches-4.9/409-net-phy-don-t-double-read-clause-45-status-register.patch | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/target/linux/mvebu/patches-4.9/409-net-phy-don-t-double-read-clause-45-status-register.patch b/target/linux/mvebu/patches-4.9/409-net-phy-don-t-double-read-clause-45-status-register.patch deleted file mode 100644 index ee53fe0380..0000000000 --- a/target/linux/mvebu/patches-4.9/409-net-phy-don-t-double-read-clause-45-status-register.patch +++ /dev/null @@ -1,35 +0,0 @@ -From: Russell King <rmk+kernel@armlinux.org.uk> -Date: Thu, 5 Jan 2017 00:23:40 +0000 -Subject: [PATCH] net: phy: don't double-read clause 45 status register - -One of the design decisions behind the link status bit in the status -register is that it latches low on link loss. This is so that link loss -events are not missed. Double-reading the status register means that we -always read the current state of the link, clearing any link loss event. - -This can cause problems - for example, if the link has negotiated a -different set of operating parameters, these will not be communicated -to the MAC as the PHY state machine will still think that the link has -remained active. - -Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> ---- - ---- 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_devi - 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) |