Use '__skb_queue_purge()' instead of re-implementing it.
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
 static void _t4_l2e_free(struct l2t_entry *e)
 {
        struct l2t_data *d;
-       struct sk_buff *skb;
 
        if (atomic_read(&e->refcnt) == 0) {  /* hasn't been recycled */
                if (e->neigh) {
                        neigh_release(e->neigh);
                        e->neigh = NULL;
                }
-               while ((skb = __skb_dequeue(&e->arpq)) != NULL)
-                       kfree_skb(skb);
+               __skb_queue_purge(&e->arpq);
        }
 
        d = container_of(e, struct l2t_data, l2tab[e->idx]);
 static void t4_l2e_free(struct l2t_entry *e)
 {
        struct l2t_data *d;
-       struct sk_buff *skb;
 
        spin_lock_bh(&e->lock);
        if (atomic_read(&e->refcnt) == 0) {  /* hasn't been recycled */
                        neigh_release(e->neigh);
                        e->neigh = NULL;
                }
-               while ((skb = __skb_dequeue(&e->arpq)) != NULL)
-                       kfree_skb(skb);
+               __skb_queue_purge(&e->arpq);
        }
        spin_unlock_bh(&e->lock);