linux/drivers/net
Yunsheng Lin aa9d22dd45 net: hns3: fix error handling for desc filling
When desc filling fails in hns3_nic_net_xmit, it will call
hns3_clear_desc to unmap the dma mapping. But currently the
ring->next_to_use points to the desc where the desc filling
or dma mapping return error, which means the desc that
ring->next_to_use points to has not done the dma mapping,
the desc that need unmapping is before the ring->next_to_use.

This patch fixes it by calling ring_ptr_move_bw(next_to_use)
before doing unmapping operation, and set desc_cb->dma to
zero to avoid freeing it again when unloading.

Also, when filling skb head or frag fails, both need to unmap
all the way back to next_to_use_head, so remove one desc filling
error handling.

Fixes: 76ad4f0ee7 ("net: hns3: Add support of HNS3 Ethernet Driver for hip08 SoC")
Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-05-07 10:37:13 -07:00
..
appletalk ipv4: Prepare rtable for IPv6 gateway 2019-04-08 15:22:40 -07:00
arcnet
bonding netlink: make nla_nest_start() add NLA_F_NESTED flag 2019-04-27 17:03:44 -04:00
caif
can
dsa net: dsa: lantiq: Add Forwarding Database access 2019-05-07 10:34:45 -07:00
ethernet net: hns3: fix error handling for desc filling 2019-05-07 10:37:13 -07:00
fddi
fjes
hamradio
hippi net: hippi:Fix misuse of %x in rrunner.c 2019-04-21 10:37:26 -07:00
hyperv Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-04-05 14:14:19 -07:00
ieee802154 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-05-02 22:14:21 -04:00
ipvlan
netdevsim netdevsim: Make nsim_num_vf static 2019-05-05 10:48:45 -07:00
phy net: phy: improve resuming from hibernation 2019-05-04 00:50:58 -04:00
plip
ppp
slip slip: make slhc_free() silently accept an error pointer 2019-04-26 18:19:09 -07:00
team genetlink: optionally validate strictly/dumps 2019-04-27 17:07:22 -04:00
usb net: usb: support of_get_mac_address new ERR_PTR error 2019-05-05 21:47:07 -07:00
vmxnet3
wan
wimax wimax/i2400m: use struct_size() helper 2019-05-04 00:04:31 -04:00
wireless net: wireless: support of_get_mac_address new ERR_PTR error 2019-05-05 21:47:07 -07:00
xen-netback xen-netback: add reference from xenvif to backend_info to facilitate coredump analysis 2019-04-12 10:10:28 -07:00
dummy.c net: dummy: use generic helper to report timestamping info 2019-04-12 16:26:37 -07:00
eql.c
geneve.c
gtp.c genetlink: optionally validate strictly/dumps 2019-04-27 17:07:22 -04:00
ifb.c
Kconfig
LICENSE.SRC
loopback.c net: loopback: use generic helper to report timestamping info 2019-04-12 16:26:37 -07:00
macsec.c genetlink: optionally validate strictly/dumps 2019-04-27 17:07:22 -04:00
macvlan.c netlink: make nla_nest_start() add NLA_F_NESTED flag 2019-04-27 17:03:44 -04:00
macvtap.c
Makefile
mdio.c
mii.c
net_failover.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c sb1000: fix variable set but not used warnings 2019-04-18 17:06:15 -07:00
Space.c
sungem_phy.c
tap.c
thunderbolt.c
tun.c net: pass net_device argument to the eth_get_headlen 2019-04-23 18:36:34 +02:00
veth.c net: veth: use generic helper to report timestamping info 2019-04-12 16:26:37 -07:00
virtio_net.c virtio-net: Fix some minor formatting errors 2019-04-06 18:10:11 -07:00
vrf.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-04-25 23:52:29 -04:00
vsockmon.c
vxlan.c
xen-netfront.c xen-netfront: mark expected switch fall-through 2019-04-16 21:03:02 -07:00