linux_dsm_epyc7002/drivers/net
Alexander Duyck 248de22e63 i40e/i40evf: Account for frags split over multiple descriptors in check linearize
The original code for __i40e_chk_linearize didn't take into account the
fact that if a fragment is 16K in size or larger it has to be split over 2
descriptors and the smaller of those 2 descriptors will be on the trailing
edge of the transmit. As a result we can get into situations where we didn't
catch requests that could result in a Tx hang.

This patch takes care of that by subtracting the length of all but the
trailing edge of the stale fragment before we test for sum. By doing this
we can guarantee that we have all cases covered, including the case of a
fragment that spans multiple descriptors. We don't need to worry about
checking the inner portions of this since 12K is the maximum aligned DMA
size and that is larger than any MSS will ever be since the MTU limit for
jumbos is something on the order of 9K.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2018-01-03 08:47:29 -08:00
..
appletalk
arcnet
bonding
caif
can
cris
dsa
ethernet i40e/i40evf: Account for frags split over multiple descriptors in check linearize 2018-01-03 08:47:29 -08:00
fddi
fjes
hamradio
hippi
hyperv
ieee802154
ipvlan
phy sfp: fix sfp-bus oops when removing socket/upstream 2018-01-02 13:40:28 -05:00
plip
ppp
slip
team
usb NET: usb: qmi_wwan: add support for YUGA CLM920-NC5 PID 0x9625 2018-01-02 14:49:34 -05:00
vmxnet3
wan
wimax
wireless
xen-netback
dummy.c
eql.c
geneve.c geneve: update skb dst pmtu on tx path 2018-01-02 12:34:59 -05:00
gtp.c
ifb.c
Kconfig
LICENSE.SRC
loopback.c
macsec.c
macvlan.c macvlan: Fix one possible double free 2018-01-02 13:30:14 -05:00
macvtap.c
Makefile
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c
thunderbolt.c
tun.c
veth.c
virtio_net.c
vrf.c
vsockmon.c
vxlan.c
xen-netfront.c