aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/e1000e/hw.h1
-rw-r--r--drivers/net/e1000e/ich8lan.c2
-rw-r--r--drivers/net/e1000e/netdev.c5
3 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/e1000e/hw.h b/drivers/net/e1000e/hw.h
index 287ee954448f..fa314b4a68c1 100644
--- a/drivers/net/e1000e/hw.h
+++ b/drivers/net/e1000e/hw.h
@@ -901,6 +901,7 @@ struct e1000_fc_info {
901 u32 high_water; /* Flow control high-water mark */ 901 u32 high_water; /* Flow control high-water mark */
902 u32 low_water; /* Flow control low-water mark */ 902 u32 low_water; /* Flow control low-water mark */
903 u16 pause_time; /* Flow control pause timer */ 903 u16 pause_time; /* Flow control pause timer */
904 u16 refresh_time; /* Flow control refresh timer */
904 bool send_xon; /* Flow control send XON */ 905 bool send_xon; /* Flow control send XON */
905 bool strict_ieee; /* Strict IEEE mode */ 906 bool strict_ieee; /* Strict IEEE mode */
906 enum e1000_fc_mode current_mode; /* FC mode in effect */ 907 enum e1000_fc_mode current_mode; /* FC mode in effect */
diff --git a/drivers/net/e1000e/ich8lan.c b/drivers/net/e1000e/ich8lan.c
index 8efe9a7cbaad..2b2cffc017be 100644
--- a/drivers/net/e1000e/ich8lan.c
+++ b/drivers/net/e1000e/ich8lan.c
@@ -2823,6 +2823,8 @@ static s32 e1000_setup_link_ich8lan(struct e1000_hw *hw)
2823 ew32(FCTTV, hw->fc.pause_time); 2823 ew32(FCTTV, hw->fc.pause_time);
2824 if ((hw->phy.type == e1000_phy_82578) || 2824 if ((hw->phy.type == e1000_phy_82578) ||
2825 (hw->phy.type == e1000_phy_82577)) { 2825 (hw->phy.type == e1000_phy_82577)) {
2826 ew32(FCRTV_PCH, hw->fc.refresh_time);
2827
2826 ret_val = hw->phy.ops.write_reg(hw, 2828 ret_val = hw->phy.ops.write_reg(hw,
2827 PHY_REG(BM_PORT_CTRL_PAGE, 27), 2829 PHY_REG(BM_PORT_CTRL_PAGE, 27),
2828 hw->fc.pause_time); 2830 hw->fc.pause_time);
diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index 16a03c553299..d1f60c570c0e 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -3134,6 +3134,7 @@ void e1000e_reset(struct e1000_adapter *adapter)
3134 fc->high_water = 0x5000; 3134 fc->high_water = 0x5000;
3135 fc->low_water = 0x3000; 3135 fc->low_water = 0x3000;
3136 } 3136 }
3137 fc->refresh_time = 0x1000;
3137 } else { 3138 } else {
3138 if ((adapter->flags & FLAG_HAS_ERT) && 3139 if ((adapter->flags & FLAG_HAS_ERT) &&
3139 (adapter->netdev->mtu > ETH_DATA_LEN)) 3140 (adapter->netdev->mtu > ETH_DATA_LEN))
@@ -3171,10 +3172,6 @@ void e1000e_reset(struct e1000_adapter *adapter)
3171 if (mac->ops.init_hw(hw)) 3172 if (mac->ops.init_hw(hw))
3172 e_err("Hardware Error\n"); 3173 e_err("Hardware Error\n");
3173 3174
3174 /* additional part of the flow-control workaround above */
3175 if (hw->mac.type == e1000_pchlan)
3176 ew32(FCRTV_PCH, 0x1000);
3177
3178 e1000_update_mng_vlan(adapter); 3175 e1000_update_mng_vlan(adapter);
3179 3176
3180 /* Enable h/w to recognize an 802.1Q VLAN Ethernet packet */ 3177 /* Enable h/w to recognize an 802.1Q VLAN Ethernet packet */