diff options
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/ethernet/intel/e1000e/netdev.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c index 40e6232bed27..99596a63b6d0 100644 --- a/drivers/net/ethernet/intel/e1000e/netdev.c +++ b/drivers/net/ethernet/intel/e1000e/netdev.c | |||
@@ -2979,17 +2979,10 @@ static void e1000_setup_rctl(struct e1000_adapter *adapter) | |||
2979 | u32 pages = 0; | 2979 | u32 pages = 0; |
2980 | 2980 | ||
2981 | /* Workaround Si errata on PCHx - configure jumbo frame flow */ | 2981 | /* Workaround Si errata on PCHx - configure jumbo frame flow */ |
2982 | if (hw->mac.type >= e1000_pch2lan) { | 2982 | if ((hw->mac.type >= e1000_pch2lan) && |
2983 | s32 ret_val; | 2983 | (adapter->netdev->mtu > ETH_DATA_LEN) && |
2984 | 2984 | e1000_lv_jumbo_workaround_ich8lan(hw, true)) | |
2985 | if (adapter->netdev->mtu > ETH_DATA_LEN) | 2985 | e_dbg("failed to enable jumbo frame workaround mode\n"); |
2986 | ret_val = e1000_lv_jumbo_workaround_ich8lan(hw, true); | ||
2987 | else | ||
2988 | ret_val = e1000_lv_jumbo_workaround_ich8lan(hw, false); | ||
2989 | |||
2990 | if (ret_val) | ||
2991 | e_dbg("failed to enable jumbo frame workaround mode\n"); | ||
2992 | } | ||
2993 | 2986 | ||
2994 | /* Program MC offset vector base */ | 2987 | /* Program MC offset vector base */ |
2995 | rctl = er32(RCTL); | 2988 | rctl = er32(RCTL); |
@@ -4034,6 +4027,12 @@ void e1000e_down(struct e1000_adapter *adapter) | |||
4034 | adapter->link_speed = 0; | 4027 | adapter->link_speed = 0; |
4035 | adapter->link_duplex = 0; | 4028 | adapter->link_duplex = 0; |
4036 | 4029 | ||
4030 | /* Disable Si errata workaround on PCHx for jumbo frame flow */ | ||
4031 | if ((hw->mac.type >= e1000_pch2lan) && | ||
4032 | (adapter->netdev->mtu > ETH_DATA_LEN) && | ||
4033 | e1000_lv_jumbo_workaround_ich8lan(hw, false)) | ||
4034 | e_dbg("failed to disable jumbo frame workaround mode\n"); | ||
4035 | |||
4037 | if (!pci_channel_offline(adapter->pdev)) | 4036 | if (!pci_channel_offline(adapter->pdev)) |
4038 | e1000e_reset(adapter); | 4037 | e1000e_reset(adapter); |
4039 | 4038 | ||