diff options
-rw-r--r-- | drivers/net/ethernet/intel/e1000e/netdev.c | 20 |
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); |