aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/e1000e/ethtool.c1
-rw-r--r--drivers/net/e1000e/lib.c12
-rw-r--r--drivers/net/e1000e/netdev.c1
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;