diff options
-rw-r--r-- | drivers/net/igb/igb_ethtool.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/drivers/net/igb/igb_ethtool.c b/drivers/net/igb/igb_ethtool.c index fb09c8ad9f0d..27eae49e79c2 100644 --- a/drivers/net/igb/igb_ethtool.c +++ b/drivers/net/igb/igb_ethtool.c | |||
@@ -1419,7 +1419,6 @@ static int igb_integrated_phy_loopback(struct igb_adapter *adapter) | |||
1419 | { | 1419 | { |
1420 | struct e1000_hw *hw = &adapter->hw; | 1420 | struct e1000_hw *hw = &adapter->hw; |
1421 | u32 ctrl_reg = 0; | 1421 | u32 ctrl_reg = 0; |
1422 | u32 stat_reg = 0; | ||
1423 | 1422 | ||
1424 | hw->mac.autoneg = false; | 1423 | hw->mac.autoneg = false; |
1425 | 1424 | ||
@@ -1443,18 +1442,11 @@ static int igb_integrated_phy_loopback(struct igb_adapter *adapter) | |||
1443 | ctrl_reg |= (E1000_CTRL_FRCSPD | /* Set the Force Speed Bit */ | 1442 | ctrl_reg |= (E1000_CTRL_FRCSPD | /* Set the Force Speed Bit */ |
1444 | E1000_CTRL_FRCDPX | /* Set the Force Duplex Bit */ | 1443 | E1000_CTRL_FRCDPX | /* Set the Force Duplex Bit */ |
1445 | E1000_CTRL_SPD_1000 |/* Force Speed to 1000 */ | 1444 | E1000_CTRL_SPD_1000 |/* Force Speed to 1000 */ |
1446 | E1000_CTRL_FD); /* Force Duplex to FULL */ | 1445 | E1000_CTRL_FD | /* Force Duplex to FULL */ |
1446 | E1000_CTRL_SLU); /* Set link up enable bit */ | ||
1447 | 1447 | ||
1448 | if (hw->phy.media_type == e1000_media_type_copper && | 1448 | if (hw->phy.type == e1000_phy_m88) |
1449 | hw->phy.type == e1000_phy_m88) | ||
1450 | ctrl_reg |= E1000_CTRL_ILOS; /* Invert Loss of Signal */ | 1449 | ctrl_reg |= E1000_CTRL_ILOS; /* Invert Loss of Signal */ |
1451 | else { | ||
1452 | /* Set the ILOS bit on the fiber Nic if half duplex link is | ||
1453 | * detected. */ | ||
1454 | stat_reg = rd32(E1000_STATUS); | ||
1455 | if ((stat_reg & E1000_STATUS_FD) == 0) | ||
1456 | ctrl_reg |= (E1000_CTRL_ILOS | E1000_CTRL_SLU); | ||
1457 | } | ||
1458 | 1450 | ||
1459 | wr32(E1000_CTRL, ctrl_reg); | 1451 | wr32(E1000_CTRL, ctrl_reg); |
1460 | 1452 | ||