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 dd2cf3738b738bdf5b21e73587c5ab9aeecbe3c7..94f08f1e841ce98bd29e2c7694035d5a2c11143c 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: