From: Shannon Nelson Date: Mon, 4 Jan 2016 18:33:04 +0000 (-0800) Subject: i40e: do TSO only if CHECKSUM_PARTIAL is set X-Git-Tag: v4.1.12-92~189^2~125 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=ae2614cac449c3621911feb0621825ca1c3803d1;p=users%2Fjedix%2Flinux-maple.git i40e: do TSO only if CHECKSUM_PARTIAL is set Orabug: 22342532 Don't bother trying to set up a TSO if the skb->ip_summed is not set to CHECKSUM_PARTIAL. Change-ID: I6495b3568e404907a2965b48cf3e2effa7c9ab55 Signed-off-by: Shannon Nelson Tested-by: Andrew Bowers Signed-off-by: Jeff Kirsher (cherry picked from commit e9f6563d7bb3914711c6601cdf5d9f9b6e1b461f) Signed-off-by: Brian Maly --- diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c b/drivers/net/ethernet/intel/i40e/i40e_txrx.c index 79cce1f70ace5..490cfd7223eee 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_txrx.c +++ b/drivers/net/ethernet/intel/i40e/i40e_txrx.c @@ -2220,6 +2220,9 @@ static int i40e_tso(struct i40e_ring *tx_ring, struct sk_buff *skb, u32 l4len; int err; + if (skb->ip_summed != CHECKSUM_PARTIAL) + return 0; + if (!skb_is_gso(skb)) return 0; diff --git a/drivers/net/ethernet/intel/i40evf/i40e_txrx.c b/drivers/net/ethernet/intel/i40evf/i40e_txrx.c index ab7679eb73fa8..3d8f390e594fc 100644 --- a/drivers/net/ethernet/intel/i40evf/i40e_txrx.c +++ b/drivers/net/ethernet/intel/i40evf/i40e_txrx.c @@ -1470,6 +1470,9 @@ static int i40e_tso(struct i40e_ring *tx_ring, struct sk_buff *skb, u32 l4len; int err; + if (skb->ip_summed != CHECKSUM_PARTIAL) + return 0; + if (!skb_is_gso(skb)) return 0;