diff options
-rw-r--r-- | drivers/net/igb/igb_main.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c index 86782f9218a7..c259013fe7b2 100644 --- a/drivers/net/igb/igb_main.c +++ b/drivers/net/igb/igb_main.c | |||
@@ -2059,17 +2059,11 @@ static void igb_configure_rx(struct igb_adapter *adapter) | |||
2059 | } else { | 2059 | } else { |
2060 | /* Enable Receive Checksum Offload for TCP and UDP */ | 2060 | /* Enable Receive Checksum Offload for TCP and UDP */ |
2061 | rxcsum = rd32(E1000_RXCSUM); | 2061 | rxcsum = rd32(E1000_RXCSUM); |
2062 | if (adapter->rx_csum) { | 2062 | if (adapter->rx_csum) |
2063 | rxcsum |= E1000_RXCSUM_TUOFL; | 2063 | rxcsum |= E1000_RXCSUM_TUOFL | E1000_RXCSUM_IPPCSE; |
2064 | else | ||
2065 | rxcsum &= ~(E1000_RXCSUM_TUOFL | E1000_RXCSUM_IPPCSE); | ||
2064 | 2066 | ||
2065 | /* Enable IPv4 payload checksum for UDP fragments | ||
2066 | * Must be used in conjunction with packet-split. */ | ||
2067 | if (adapter->rx_ps_hdr_size) | ||
2068 | rxcsum |= E1000_RXCSUM_IPPCSE; | ||
2069 | } else { | ||
2070 | rxcsum &= ~E1000_RXCSUM_TUOFL; | ||
2071 | /* don't need to clear IPPCSE as it defaults to 0 */ | ||
2072 | } | ||
2073 | wr32(E1000_RXCSUM, rxcsum); | 2067 | wr32(E1000_RXCSUM, rxcsum); |
2074 | } | 2068 | } |
2075 | 2069 | ||