linux/drivers/net/ethernet/hisilicon
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
..
hns net: pass net_device argument to the eth_get_headlen 2019-04-23 18:36:34 +02:00
hns3 net: hns3: fix error handling for desc filling 2019-05-07 10:37:13 -07:00
hip04_eth.c net: hisilicon: remove unexpected free_netdev 2018-11-28 10:41:15 -08:00
hisi_femac.c
hix5hd2_gmac.c cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
hns_mdio.c net: hns: Fix sparse: some warnings in HNS drivers 2019-04-04 10:35:42 -07:00
Kconfig hns3: prevent building without CONFIG_INET 2018-12-14 13:17:50 -08:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00