i40e: Fix TSO with more than 8 frags per segment issue
authorAnjali Singhai <anjali.singhai@intel.com>
Sat, 21 Feb 2015 06:42:35 +0000 (06:42 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Thu, 26 Feb 2015 12:53:58 +0000 (04:53 -0800)
commit71da61976ec18fb57b3ba9a1dd846b747cc7c884
tree9de12ed2f5e134a02805d09f26c11b9295bd4438
parentb67a03357cab0ccb91d641fead6f167c697a24cb
i40e: Fix TSO with more than 8 frags per segment issue

The hardware has some limitations the driver needs to adhere to,
that we found in extended testing.
  1) no more than 8 descriptors per packet on the wire
  2) no header can span more than 3 descriptors

If one of these events occurs, the hardware will generate an internal
error and freeze the Tx queue.

This patch linearizes the skb to avoid these situations.

Change-ID: I37dab7d3966e14895a9663ec4d0aaa8eb0d9e115
Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com>
Tested-by: Jim Young <james.m.young@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e_txrx.c
drivers/net/ethernet/intel/i40e/i40e_txrx.h
drivers/net/ethernet/intel/i40evf/i40e_txrx.c
drivers/net/ethernet/intel/i40evf/i40e_txrx.h