Commit d74361dc authored by Christophe JAILLET's avatar Christophe JAILLET Committed by David S. Miller

cxgb4/l2t: Simplify 't4_l2e_free()' and '_t4_l2e_free()'

Use '__skb_queue_purge()' instead of re-implementing it.
Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d86784fe
...@@ -351,15 +351,13 @@ static struct l2t_entry *find_or_alloc_l2e(struct l2t_data *d, u16 vlan, ...@@ -351,15 +351,13 @@ static struct l2t_entry *find_or_alloc_l2e(struct l2t_data *d, u16 vlan,
static void _t4_l2e_free(struct l2t_entry *e) static void _t4_l2e_free(struct l2t_entry *e)
{ {
struct l2t_data *d; struct l2t_data *d;
struct sk_buff *skb;
if (atomic_read(&e->refcnt) == 0) { /* hasn't been recycled */ if (atomic_read(&e->refcnt) == 0) { /* hasn't been recycled */
if (e->neigh) { if (e->neigh) {
neigh_release(e->neigh); neigh_release(e->neigh);
e->neigh = NULL; e->neigh = NULL;
} }
while ((skb = __skb_dequeue(&e->arpq)) != NULL) __skb_queue_purge(&e->arpq);
kfree_skb(skb);
} }
d = container_of(e, struct l2t_data, l2tab[e->idx]); d = container_of(e, struct l2t_data, l2tab[e->idx]);
...@@ -370,7 +368,6 @@ static void _t4_l2e_free(struct l2t_entry *e) ...@@ -370,7 +368,6 @@ static void _t4_l2e_free(struct l2t_entry *e)
static void t4_l2e_free(struct l2t_entry *e) static void t4_l2e_free(struct l2t_entry *e)
{ {
struct l2t_data *d; struct l2t_data *d;
struct sk_buff *skb;
spin_lock_bh(&e->lock); spin_lock_bh(&e->lock);
if (atomic_read(&e->refcnt) == 0) { /* hasn't been recycled */ if (atomic_read(&e->refcnt) == 0) { /* hasn't been recycled */
...@@ -378,8 +375,7 @@ static void t4_l2e_free(struct l2t_entry *e) ...@@ -378,8 +375,7 @@ static void t4_l2e_free(struct l2t_entry *e)
neigh_release(e->neigh); neigh_release(e->neigh);
e->neigh = NULL; e->neigh = NULL;
} }
while ((skb = __skb_dequeue(&e->arpq)) != NULL) __skb_queue_purge(&e->arpq);
kfree_skb(skb);
} }
spin_unlock_bh(&e->lock); spin_unlock_bh(&e->lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment