aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ethernet/intel/e1000e/netdev.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
index f1cce5928e20..dce377b59b2c 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -2991,11 +2991,21 @@ static void e1000_setup_rctl(struct e1000_adapter *adapter)
2991 u32 rctl, rfctl; 2991 u32 rctl, rfctl;
2992 u32 pages = 0; 2992 u32 pages = 0;
2993 2993
2994 /* Workaround Si errata on PCHx - configure jumbo frame flow */ 2994 /* Workaround Si errata on PCHx - configure jumbo frame flow.
2995 if ((hw->mac.type >= e1000_pch2lan) && 2995 * If jumbo frames not set, program related MAC/PHY registers
2996 (adapter->netdev->mtu > ETH_DATA_LEN) && 2996 * to h/w defaults
2997 e1000_lv_jumbo_workaround_ich8lan(hw, true)) 2997 */
2998 e_dbg("failed to enable jumbo frame workaround mode\n"); 2998 if (hw->mac.type >= e1000_pch2lan) {
2999 s32 ret_val;
3000
3001 if (adapter->netdev->mtu > ETH_DATA_LEN)
3002 ret_val = e1000_lv_jumbo_workaround_ich8lan(hw, true);
3003 else
3004 ret_val = e1000_lv_jumbo_workaround_ich8lan(hw, false);
3005
3006 if (ret_val)
3007 e_dbg("failed to enable|disable jumbo frame workaround mode\n");
3008 }
2999 3009
3000 /* Program MC offset vector base */ 3010 /* Program MC offset vector base */
3001 rctl = er32(RCTL); 3011 rctl = er32(RCTL);