Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 701a0fd5 authored by wangweidong's avatar wangweidong Committed by David S. Miller
Browse files

hip04_eth: fix missing error handle for build_skb failed



when build_skb failed, we should goto refill the buffer.

Signed-off-by: default avatarWeidong Wang <wangweidong1@huawei.com>
Acked-by: default avatarDing Tainhong <dingtianhong@huawei.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 1adbfc43
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -500,8 +500,10 @@ static int hip04_rx_poll(struct napi_struct *napi, int budget)
	while (cnt && !last) {
		buf = priv->rx_buf[priv->rx_head];
		skb = build_skb(buf, priv->rx_buf_size);
		if (unlikely(!skb))
		if (unlikely(!skb)) {
			net_dbg_ratelimited("build_skb failed\n");
			goto refill;
		}

		dma_unmap_single(&ndev->dev, priv->rx_phys[priv->rx_head],
				 RX_BUF_SIZE, DMA_FROM_DEVICE);
@@ -528,6 +530,7 @@ static int hip04_rx_poll(struct napi_struct *napi, int budget)
			rx++;
		}

refill:
		buf = netdev_alloc_frag(priv->rx_buf_size);
		if (!buf)
			goto done;