| From foo@baz Mon Dec 18 13:28:59 CET 2017 |
| From: Lipeng <lipeng321@huawei.com> |
| Date: Mon, 23 Oct 2017 19:51:01 +0800 |
| Subject: net: hns3: fix a bug when alloc new buffer |
| |
| From: Lipeng <lipeng321@huawei.com> |
| |
| |
| [ Upstream commit b9077428ec5569aacb2952d8a2ffb51c8988d3c2 ] |
| |
| When alloce new buffer to HW, should unmap the old buffer first. |
| This old code map the old buffer but not unmap the old buffer, |
| this patch fixes it. |
| |
| 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> |
| Signed-off-by: Sasha Levin <alexander.levin@verizon.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_enet.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_enet.c |
| +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_enet.c |
| @@ -1586,7 +1586,7 @@ out_buffer_fail: |
| static void hns3_replace_buffer(struct hns3_enet_ring *ring, int i, |
| struct hns3_desc_cb *res_cb) |
| { |
| - hns3_map_buffer(ring, &ring->desc_cb[i]); |
| + hns3_unmap_buffer(ring, &ring->desc_cb[i]); |
| ring->desc_cb[i] = *res_cb; |
| ring->desc[i].addr = cpu_to_le64(ring->desc_cb[i].dma); |
| } |