The skb should be freed by dev_consume_skb_any() in macb_pad_and_fcs()
when *skb is still used. The *skb is be replaced by nskb, so the
original *skb should be consumed(not drop).

Signed-off-by: Huang Zijiang <huang.ziji...@zte.com.cn>
---
 drivers/net/ethernet/cadence/macb_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/cadence/macb_main.c 
b/drivers/net/ethernet/cadence/macb_main.c
index 1d86b4d..5a63ac5 100644
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
@@ -1698,7 +1698,7 @@ static int macb_pad_and_fcs(struct sk_buff **skb, struct 
net_device *ndev)
                if (!nskb)
                        return -ENOMEM;
 
-               dev_kfree_skb_any(*skb);
+               dev_consume_skb_any(*skb);
                *skb = nskb;
        }
 
-- 
1.8.3.1

Reply via email to