android_kernel_samsung_univ.../drivers/net/ethernet/intel/i40e
Vlad Yasevich 3d34dd03d5 i40e: Fix TSO and hw checksums for non-accelerated vlan packets.
This device claims TSO and checksum support for vlans.  It also
allows a user to control vlan acceleration offloading.  As such,
it is possible to turn off vlan acceleration and configure a vlan
which will continue to support TSO and hw checksums.

In such situation the packet passed down the the device will contain
a vlan header and skb->protocol will be set to ETH_P_8021Q.
The device assumes that skb->protocol contains network protocol
value and uses that value to set up TSO and checksum information.
This results in corrupted frames sent on the wire.

This patch extract the protocol value correctly and corrects TSO
and checksums for non-accelerated traffic.

Fix this by using vlan_get_protocol() helper.

CC: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
CC: Jesse Brandeburg <jesse.brandeburg@intel.com>
CC: Bruce Allan <bruce.w.allan@intel.com>
CC: Carolyn Wyborny <carolyn.wyborny@intel.com>
CC: Don Skidmore <donald.c.skidmore@intel.com>
CC: Greg Rose <gregory.v.rose@intel.com>
CC: Alex Duyck <alexander.h.duyck@intel.com>
CC: John Ronciak <john.ronciak@intel.com>
CC: Mitch Williams <mitch.a.williams@intel.com>
CC: Linux NICS <linux.nics@intel.com>
CC: e1000-devel@lists.sourceforge.net
Signed-off-by: Vladislav Yasevich <vyasevic@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-08-25 17:27:09 -07:00
..
i40e_adminq_cmd.h i40e/i40evf: AdminQ API update for new FW 2014-06-11 08:47:35 -07:00
i40e_adminq.c i40e: always print aqtx answer 2014-07-24 05:06:10 -07:00
i40e_adminq.h i40e/i40evf: Add nvmupdate support 2014-07-24 03:32:40 -07:00
i40e_alloc.h i40e: Fix GPL header 2014-01-09 02:10:23 -08:00
i40e_common.c i40e: expose debug_write_register request 2014-08-02 19:41:13 -07:00
i40e_dcb_nl.c i40e: Separate out DCB capability and enabled flags 2014-06-11 08:48:15 -07:00
i40e_dcb.c i40e: Fix static checker warning 2014-03-06 18:41:50 -08:00
i40e_dcb.h i40e: implement DCB support infastructure 2014-01-17 19:13:04 -08:00
i40e_debugfs.c i40e: Adds FCoE related code to i40e core driver 2014-08-02 19:41:13 -07:00
i40e_diag.c i40e: Rework register diagnostic 2014-06-05 01:27:46 -07:00
i40e_diag.h i40e: Fix GPL header 2014-01-09 02:10:23 -08:00
i40e_ethtool.c list: fix order of arguments for hlist_add_after(_rcu) 2014-08-06 18:01:24 -07:00
i40e_fcoe.c i40e: Fix missing uapi/linux/dcbnl.h include in i40e_fcoe.c 2014-08-11 23:59:32 -07:00
i40e_fcoe.h i40e: adds FCoE code to the i40e driver 2014-08-02 19:41:13 -07:00
i40e_hmc.c i40e/i40evf: Fix code to accommodate i40e_register.h changes 2014-06-08 02:01:23 -07:00
i40e_hmc.h i40e/i40evf: Force a shifted '1' to be unsigned 2014-07-02 19:02:19 -07:00
i40e_lan_hmc.c i40e: remove unnecessary break after goto 2014-07-13 23:45:24 -07:00
i40e_lan_hmc.h i40e/i40evf: Big endian fixes for handling HMC 2014-06-26 04:44:57 -07:00
i40e_main.c PCI changes for the v3.17 merge window (part 2): 2014-08-14 18:10:33 -06:00
i40e_nvm.c i40e: fix sparse non static symbol warning 2014-08-12 00:34:18 -07:00
i40e_osdep.h i40e: Adds FCoE related code to i40e core driver 2014-08-02 19:41:13 -07:00
i40e_prototype.h i40e: expose debug_write_register request 2014-08-02 19:41:13 -07:00
i40e_ptp.c i40e: fix PTP bug 2014-08-15 04:00:39 -07:00
i40e_register.h i40e/i40evf: i40e_register.h update 2014-06-19 20:22:02 -07:00
i40e_status.h i40e: Fix GPL header 2014-01-09 02:10:23 -08:00
i40e_txrx.c i40e: Fix TSO and hw checksums for non-accelerated vlan packets. 2014-08-25 17:27:09 -07:00
i40e_txrx.h i40e: Adds FCoE related code to i40e core driver 2014-08-02 19:41:13 -07:00
i40e_type.h i40e: Adds FCoE related code to i40e core driver 2014-08-02 19:41:13 -07:00
i40e_virtchnl_pf.c i40e: Fix a few potential VF dereferences 2014-08-15 03:50:37 -07:00
i40e_virtchnl_pf.h i40e: implement anti-spoofing for VFs 2014-06-08 23:52:33 -07:00
i40e_virtchnl.h i40e/i40evf: Clean up a few things 2014-06-08 02:01:26 -07:00
i40e.h i40e: Adds FCoE related code to i40e core driver 2014-08-02 19:41:13 -07:00
Makefile i40e: adds FCoE to build and updates its documentation 2014-08-02 19:41:13 -07:00