]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
net: hns3: fix the bug when map buffer fail
authorLipeng <lipeng321@huawei.com>
Mon, 23 Oct 2017 11:51:02 +0000 (19:51 +0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 24 Oct 2017 00:16:41 +0000 (01:16 +0100)
If one buffer had been recieved to stack, driver will alloc a new buffer,
map the buffer to device and replace the old buffer. When map fail, should
only free the new alloced buffer, but not free all buffers in the ring.

Fixes: 76ad4f0 (net: hns3: Add support of HNS3 Ethernet Driver for hip08 SoC)
Signed-off-by: Lipeng <lipeng321@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_enet.c

index 3ddcd47fa61c8ac0234ab247a6d78ba8dec159b2..58aa2dd6ace0036a671b822f5b76d063a0e87998 100644 (file)
@@ -1555,7 +1555,7 @@ static int hns3_reserve_buffer_map(struct hns3_enet_ring *ring,
        return 0;
 
 out_with_buf:
-       hns3_free_buffers(ring);
+       hns3_free_buffer(ring, cb);
 out:
        return ret;
 }