diff options
-rw-r--r-- | drivers/net/e1000e/ethtool.c | 1 | ||||
-rw-r--r-- | drivers/net/e1000e/lib.c | 12 | ||||
-rw-r--r-- | drivers/net/e1000e/netdev.c | 1 |
3 files changed, 11 insertions, 3 deletions
diff --git a/drivers/net/e1000e/ethtool.c b/drivers/net/e1000e/ethtool.c index 2e8218fb0579..b7a7e2ae5e13 100644 --- a/drivers/net/e1000e/ethtool.c +++ b/drivers/net/e1000e/ethtool.c | |||
@@ -301,6 +301,7 @@ static int e1000_set_pauseparam(struct net_device *netdev, | |||
301 | hw->mac.original_fc = hw->mac.fc; | 301 | hw->mac.original_fc = hw->mac.fc; |
302 | 302 | ||
303 | if (adapter->fc_autoneg == AUTONEG_ENABLE) { | 303 | if (adapter->fc_autoneg == AUTONEG_ENABLE) { |
304 | hw->mac.fc = e1000_fc_default; | ||
304 | if (netif_running(adapter->netdev)) { | 305 | if (netif_running(adapter->netdev)) { |
305 | e1000e_down(adapter); | 306 | e1000e_down(adapter); |
306 | e1000e_up(adapter); | 307 | e1000e_up(adapter); |
diff --git a/drivers/net/e1000e/lib.c b/drivers/net/e1000e/lib.c index 3bbfe605e111..0bdeca30c75f 100644 --- a/drivers/net/e1000e/lib.c +++ b/drivers/net/e1000e/lib.c | |||
@@ -639,9 +639,15 @@ s32 e1000e_setup_link(struct e1000_hw *hw) | |||
639 | if (e1000_check_reset_block(hw)) | 639 | if (e1000_check_reset_block(hw)) |
640 | return 0; | 640 | return 0; |
641 | 641 | ||
642 | ret_val = e1000_set_default_fc_generic(hw); | 642 | /* |
643 | if (ret_val) | 643 | * If flow control is set to default, set flow control based on |
644 | return ret_val; | 644 | * the EEPROM flow control settings. |
645 | */ | ||
646 | if (mac->fc == e1000_fc_default) { | ||
647 | ret_val = e1000_set_default_fc_generic(hw); | ||
648 | if (ret_val) | ||
649 | return ret_val; | ||
650 | } | ||
645 | 651 | ||
646 | /* We want to save off the original Flow Control configuration just | 652 | /* We want to save off the original Flow Control configuration just |
647 | * in case we get disconnected and then reconnected into a different | 653 | * in case we get disconnected and then reconnected into a different |
diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c index 600538bc932f..033e124d1c1f 100644 --- a/drivers/net/e1000e/netdev.c +++ b/drivers/net/e1000e/netdev.c | |||
@@ -4195,6 +4195,7 @@ static int __devinit e1000_probe(struct pci_dev *pdev, | |||
4195 | 4195 | ||
4196 | /* Initialize link parameters. User can change them with ethtool */ | 4196 | /* Initialize link parameters. User can change them with ethtool */ |
4197 | adapter->hw.mac.autoneg = 1; | 4197 | adapter->hw.mac.autoneg = 1; |
4198 | adapter->fc_autoneg = 1; | ||
4198 | adapter->hw.mac.original_fc = e1000_fc_default; | 4199 | adapter->hw.mac.original_fc = e1000_fc_default; |
4199 | adapter->hw.mac.fc = e1000_fc_default; | 4200 | adapter->hw.mac.fc = e1000_fc_default; |
4200 | adapter->hw.phy.autoneg_advertised = 0x2f; | 4201 | adapter->hw.phy.autoneg_advertised = 0x2f; |