diff options
author | Eric Dumazet <edumazet@google.com> | 2013-12-20 14:29:08 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-12-21 22:28:16 -0500 |
commit | 289dccbe141e01efc5968fe39a0993c9f611375e (patch) | |
tree | 3582a2dad5279b0a7c39abc75f5517e5ca427273 /net/core/dev.c | |
parent | 1b6176cca302e2eebd2b5ce5c512282a548adbe0 (diff) | |
download | linux-289dccbe141e01efc5968fe39a0993c9f611375e.tar.gz linux-289dccbe141e01efc5968fe39a0993c9f611375e.tar.bz2 linux-289dccbe141e01efc5968fe39a0993c9f611375e.zip |
net: use kfree_skb_list() helper
We can use kfree_skb_list() instead of open coding it.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/dev.c')
-rw-r--r-- | net/core/dev.c | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index c482fe8abf87..973c23656673 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -2454,13 +2454,8 @@ static void dev_gso_skb_destructor(struct sk_buff *skb) { struct dev_gso_cb *cb; - do { - struct sk_buff *nskb = skb->next; - - skb->next = nskb->next; - nskb->next = NULL; - kfree_skb(nskb); - } while (skb->next); + kfree_skb_list(skb->next); + skb->next = NULL; cb = DEV_GSO_CB(skb); if (cb->destructor) @@ -4240,17 +4235,10 @@ EXPORT_SYMBOL(netif_napi_add); void netif_napi_del(struct napi_struct *napi) { - struct sk_buff *skb, *next; - list_del_init(&napi->dev_list); napi_free_frags(napi); - for (skb = napi->gro_list; skb; skb = next) { - next = skb->next; - skb->next = NULL; - kfree_skb(skb); - } - + kfree_skb_list(napi->gro_list); napi->gro_list = NULL; napi->gro_count = 0; } |