diff options
| author | Alex Xu (Hello71) <alex_y_xu@yahoo.ca> | 2018-09-30 11:06:39 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2018-10-03 01:33:43 -0400 |
| commit | 9003b369499b3320d3f16145145b729fb6ff3bd4 (patch) | |
| tree | 5ac8fc6d7b80f18b53dad4e5266cff8ce9a403f6 /drivers/net | |
| parent | 64199fc0a46ba211362472f7f942f900af9492fd (diff) | |
r8169: always autoneg on resume
This affects at least versions 25 and 33, so assume all cards are broken
and just renegotiate by default.
Fixes: 10bc6a6042c9 ("r8169: fix autoneg issue on resume with RTL8168E")
Signed-off-by: Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
| -rw-r--r-- | drivers/net/ethernet/realtek/r8169.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c index a94b874982dc..9a5e2969df61 100644 --- a/drivers/net/ethernet/realtek/r8169.c +++ b/drivers/net/ethernet/realtek/r8169.c | |||
| @@ -4072,13 +4072,12 @@ static void rtl8169_init_phy(struct net_device *dev, struct rtl8169_private *tp) | |||
| 4072 | 4072 | ||
| 4073 | genphy_soft_reset(dev->phydev); | 4073 | genphy_soft_reset(dev->phydev); |
| 4074 | 4074 | ||
| 4075 | /* It was reported that chip version 33 ends up with 10MBit/Half on a | 4075 | /* It was reported that several chips end up with 10MBit/Half on a |
| 4076 | * 1GBit link after resuming from S3. For whatever reason the PHY on | 4076 | * 1GBit link after resuming from S3. For whatever reason the PHY on |
| 4077 | * this chip doesn't properly start a renegotiation when soft-reset. | 4077 | * these chips doesn't properly start a renegotiation when soft-reset. |
| 4078 | * Explicitly requesting a renegotiation fixes this. | 4078 | * Explicitly requesting a renegotiation fixes this. |
| 4079 | */ | 4079 | */ |
| 4080 | if (tp->mac_version == RTL_GIGA_MAC_VER_33 && | 4080 | if (dev->phydev->autoneg == AUTONEG_ENABLE) |
| 4081 | dev->phydev->autoneg == AUTONEG_ENABLE) | ||
| 4082 | phy_restart_aneg(dev->phydev); | 4081 | phy_restart_aneg(dev->phydev); |
| 4083 | } | 4082 | } |
| 4084 | 4083 | ||
