diff --git a/net/core/netpoll.c b/net/core/netpoll.c index c499b5c69bed..f63a70be3cd0 100644 --- a/net/core/netpoll.c +++ b/net/core/netpoll.c @@ -816,11 +816,7 @@ void netpoll_cleanup(struct netpoll *np) cancel_rearming_delayed_work(&npinfo->tx_work); /* clean after last, unfinished work */ - if (!skb_queue_empty(&npinfo->txq)) { - struct sk_buff *skb; - skb = __skb_dequeue(&npinfo->txq); - kfree_skb(skb); - } + __skb_queue_purge(&npinfo->txq); kfree(npinfo); np->dev->npinfo = NULL; }