diff options
author | Russell King <rmk+kernel@armlinux.org.uk> | 2019-01-31 16:59:46 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-02-12 19:47:22 +0100 |
commit | 7c1a5ce672f71be742429644b58f4c7cec6a4af2 (patch) | |
tree | 34baf3819750de12dcd439e5d2271dba6e42383a | |
parent | f2f054c485db6409c3f422f573f0e713ac13c940 (diff) | |
download | linux-stable-7c1a5ce672f71be742429644b58f4c7cec6a4af2.tar.gz linux-stable-7c1a5ce672f71be742429644b58f4c7cec6a4af2.tar.bz2 linux-stable-7c1a5ce672f71be742429644b58f4c7cec6a4af2.zip |
Revert "net: phy: marvell: avoid pause mode on SGMII-to-Copper for 88e151x"
[ Upstream commit c14f07c6211cc01d52ed92cce1fade5071b8d197 ]
This reverts commit 6623c0fba10ef45b64ca213ad5dec926f37fa9a0.
The original diagnosis was incorrect: it appears that the NIC had
PHY polling mode enabled, which meant that it overwrote the PHYs
advertisement register during negotiation.
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Tested-by: Yonglong Liu <liuyonglong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/net/phy/marvell.c | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index d71be15c8c69..73813c7afa49 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -868,8 +868,6 @@ static int m88e1510_config_init(struct phy_device *phydev) /* SGMII-to-Copper mode initialization */ if (phydev->interface == PHY_INTERFACE_MODE_SGMII) { - u32 pause; - /* Select page 18 */ err = marvell_set_page(phydev, 18); if (err < 0) @@ -892,16 +890,6 @@ static int m88e1510_config_init(struct phy_device *phydev) err = marvell_set_page(phydev, MII_MARVELL_COPPER_PAGE); if (err < 0) return err; - - /* There appears to be a bug in the 88e1512 when used in - * SGMII to copper mode, where the AN advertisement register - * clears the pause bits each time a negotiation occurs. - * This means we can never be truely sure what was advertised, - * so disable Pause support. - */ - pause = SUPPORTED_Pause | SUPPORTED_Asym_Pause; - phydev->supported &= ~pause; - phydev->advertising &= ~pause; } return m88e1318_config_init(phydev); |