linux/drivers/net
Neil Horman b64a172c19 atl1e: unmap partially mapped skb on dma error and free skb
[ Upstream commit 584ec43553 ]

Ben Hutchings pointed out that my recent update to atl1e
in commit 352900b583
("atl1e: fix dma mapping warnings") was missing a bit of code.

Specifically it reset the hardware tx ring to its origional state when
we hit a dma error, but didn't unmap any exiting mappings from the
operation.  This patch fixes that up.  It also remembers to free the
skb in the event that an error occurs, so we don't leak.  Untested, as
I don't have hardware.  I think its pretty straightforward, but please
review closely.

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
CC: Ben Hutchings <bhutchings@solarflare.com>
CC: Jay Cliburn <jcliburn@gmail.com>
CC: Chris Snook <chris.snook@gmail.com>
CC: "David S. Miller" <davem@davemloft.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-07-28 16:26:08 -07:00
..
appletalk Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
arcnet arcnet: rimi: Fix device name in debug output 2012-04-17 22:22:43 -04:00
bonding bonding: rlb mode of bond should not alter ARP originating via bridge 2013-06-27 11:27:33 -07:00
caif caif: fix NULL pointer check 2012-08-09 08:31:50 -07:00
can can: sja1000: fix handling on dt properties on little endian systems 2013-04-25 21:19:54 -07:00
cris Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
dsa drivers/net: dsa/mv88e6xxx.c files need linux/module.h 2012-01-24 15:44:50 -05:00
ethernet atl1e: unmap partially mapped skb on dma error and free skb 2013-07-28 16:26:08 -07:00
fddi
hamradio Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
hippi Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
hyperv net/hyperv: Adding cancellation to ensure rndis filter is closed 2012-04-21 15:38:10 -04:00
irda irda: sir_dev: Fix copy/paste typo 2013-01-11 09:06:27 -08:00
phy icplus: fix interrupt for IC+ 101A/G and 1001LF 2012-04-19 15:34:18 -04:00
plip Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
ppp pppoe: drop PPPOX_ZOMBIEs in pppoe_release 2012-10-13 05:38:44 +09:00
slip Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
team team: check return value of team_get_port_by_index_rcu() for NULL 2013-06-27 11:27:32 -07:00
tokenring Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
usb net: qmi_wwan: prevent duplicate mac address on link (firmware bug workaround) 2013-05-19 10:54:43 -07:00
vmxnet3 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-03-05 21:16:26 -05:00
wan dlci: validate the net device in dlci_del() 2013-07-03 10:59:04 -07:00
wimax i2400m: add Intel 6150 device IDs 2013-01-17 08:50:46 -08:00
wireless ath9k: Do not assign noise for NULL caldata 2013-07-28 16:25:47 -07:00
xen-netback xen-netback: remove skb in xen_netbk_alloc_page 2013-06-07 12:49:35 -07:00
dummy.c dummy: fix oops when loading the dummy failed 2013-07-28 16:26:07 -07:00
eql.c eql: dont rely on HZ=100 2012-03-27 22:45:26 -04:00
ifb.c ifb: fix oops when loading the ifb failed 2013-07-28 16:26:08 -07:00
Kconfig Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging 2012-01-09 12:18:17 -08:00
LICENSE.SRC
loopback.c net: loopback: fix a dst refcounting issue 2013-02-14 10:49:04 -08:00
macvlan.c macvlan: fix passthru mode race between dev removal and rx path 2013-05-19 10:54:47 -07:00
macvtap.c macvtap: correctly linearize skb when zerocopy is used 2013-07-28 16:26:04 -07:00
Makefile Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging 2012-01-09 12:18:17 -08:00
mdio.c ethtool, mdio, mii: Specify MDIO information fields in struct ethtool_cmd 2012-03-01 16:41:26 -05:00
mii.c ethtool, mdio, mii: Specify MDIO information fields in struct ethtool_cmd 2012-03-01 16:41:26 -05:00
netconsole.c netconsole: don't call __netpoll_cleanup() while atomic 2013-03-28 12:11:52 -07:00
rionet.c rapidio/rionet: fix multicast packet transmit logic 2012-10-13 05:38:39 +09:00
sb1000.c
Space.c CS89x0 : add platform driver support 2012-02-01 16:49:50 +01:00
sungem_phy.c
tun.c tun: add a missing nf_reset() in tun_net_xmit() 2013-03-20 13:05:01 -07:00
veth.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-02-19 16:03:15 -05:00
virtio_net.c virtio_net: invoke softirqs after __napi_schedule 2012-05-17 12:16:38 +03:00
xen-netfront.c xen/netfront: teardown the device before unregistering it. 2012-07-16 09:03:49 -07:00