linux/drivers/net
Alexandre Rames 2acdb92e85 sfc: Fix DMA unmapping issue with firmware assisted TSO
When using firmware assisted TSO, we use a single DMA mapping for
the linear area of a TSO skb.

We still have to segment the super-packet and insert a descriptor
containing the original headers before each segment of payload, so we
can unmap the linear area only after the last segment is completed.
The unmapping information for the linear area is therefore associated
with the last header descriptor.

We calculate the DMA address to unmap from using the map length and
the invariant that the end of the DMA mapping matches the end of
the data referenced by the last descriptor.  But this invariant is
broken when there is TCP payload in the linear area.

Fix this by adding and using an explicit dma_offset field.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2013-10-31 20:58:14 +00:00
..
appletalk PTR_RET is now PTR_ERR_OR_ZERO(): Replace most. 2013-07-15 11:25:01 +09:30
arcnet arcnet: cleanup sizeof parameter 2013-07-19 17:36:03 -07:00
bonding Revert "Merge branch 'bonding_monitor_locking'" 2013-10-28 00:11:22 -04:00
caif caif: add a sanity check to the tty name 2013-09-04 00:27:27 -04:00
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-10-23 16:49:34 -04:00
cris
dsa
ethernet sfc: Fix DMA unmapping issue with firmware assisted TSO 2013-10-31 20:58:14 +00:00
fddi net:drivers/net: Miscellaneous conversions to ETH_ALEN 2013-10-02 17:04:45 -04:00
hamradio Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-10-23 16:49:34 -04:00
hippi
hyperv Drivers: hv: remove HV_DRV_VERSION 2013-08-02 11:34:30 +08:00
ieee802154 mrf24j40: Use level-triggered interrupts 2013-10-08 15:32:14 -04:00
irda irda: remove deprecated IRQF_DISABLED 2013-10-07 15:53:52 -04:00
phy drivers: net: phy: marvell.c: removed checkpatch.pl warnings 2013-09-30 22:15:28 -07:00
plip net:drivers/net: Miscellaneous conversions to ETH_ALEN 2013-10-02 17:04:45 -04:00
ppp ip: generate unique IP identificator if local fragmentation is allowed 2013-09-19 14:11:15 -04:00
slip slip/slcan: added locking in wakeup function 2013-09-20 15:38:26 -04:00
team net: team: inherit addr_assign_type along with dev_addr 2013-09-03 20:57:49 -04:00
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-10-23 16:49:34 -04:00
vmxnet3 vmxnet3: Remove extern from function prototypes 2013-09-24 16:37:10 -07:00
wan Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-10-23 16:49:34 -04:00
wimax wimax: Remove extern from function prototypes 2013-09-24 16:46:22 -07:00
wireless Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-10-23 16:49:34 -04:00
xen-netback xen-netback: enable IPv6 TCP GSO to the guest 2013-10-17 15:35:17 -04:00
dummy.c dummy: fix oops when loading the dummy failed 2013-07-11 11:59:20 -07:00
eql.c
ifb.c ifb: fix oops when loading the ifb failed 2013-07-11 12:00:05 -07:00
Kconfig
LICENSE.SRC
loopback.c net loopback: Set loopback_dev to NULL when freed 2013-09-17 19:05:13 -04:00
macvlan.c macvlan: resolve ENOENT errors on creation 2013-10-22 19:22:09 -04:00
macvtap.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-08-26 16:37:08 -04:00
Makefile
mdio.c
mii.c
netconsole.c netconsole: Convert to pr_<level> 2013-10-29 17:41:49 -04:00
nlmon.c nlmon: use standard rtnetlink link api for add/del devices 2013-07-02 12:53:17 -07:00
ntb_netdev.c
rionet.c rapidio/rionet: rework driver initialization and removal 2013-07-03 16:08:04 -07:00
sb1000.c
Space.c
sungem_phy.c
tun.c tun: don't look at current when non-blocking 2013-10-08 15:38:35 -04:00
veth.c veth: extend features to support tunneling 2013-10-28 00:57:29 -04:00
virtio_net.c virtio_net: migrate mergeable rx buffers to page frag allocators 2013-10-28 23:56:46 -04:00
vxlan.c vxlan: Have the NIC drivers do less work for offloads 2013-10-29 02:39:13 -07:00
xen-netfront.c xen-netfront: convert to GRO API 2013-10-02 15:54:11 -04:00