aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/igb/igb_main.c14
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