r8169:Remove unnecessary phy reset for pcie nic when setting link spped.
authorChun-Hao Lin <hau@realtek.com>
Fri, 11 Mar 2016 06:21:14 +0000 (14:21 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 14 Mar 2016 02:32:44 +0000 (22:32 -0400)
For pcie nic, after setting link speed and there is no link driver does not need
to do phy reset until link up.

For some pcie nics, to do this will also reset phy speed down counter and prevent
phy from auto speed down.

This patch fix the issue reported in following link.
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1547151

Signed-off-by: Chunhao Lin <hau@realtek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/realtek/r8169.c

index dd2cf37..94f08f1 100644 (file)
@@ -1999,7 +1999,8 @@ static int rtl8169_set_speed(struct net_device *dev,
                goto out;
 
        if (netif_running(dev) && (autoneg == AUTONEG_ENABLE) &&
-           (advertising & ADVERTISED_1000baseT_Full)) {
+           (advertising & ADVERTISED_1000baseT_Full) &&
+           !pci_is_pcie(tp->pci_dev)) {
                mod_timer(&tp->timer, jiffies + RTL8169_PHY_TIMEOUT);
        }
 out: