From b366aebf1c380f8ed2b2bcfd7615454bd5ea2c7a Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Wed, 14 Jan 2009 20:40:03 -0800 Subject: [PATCH] --- yaml --- r: 129770 b: refs/heads/master c: f557206800801410c30e53ce7a27219b2c4cf0ba h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/core/dev.c | 6 ------ trunk/net/core/skbuff.c | 6 ++++++ 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index ca766f87b78c..7bc4497cf8bd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fc8c7dc1b29560c016a67a34ccff32a712b5aa86 +refs/heads/master: f557206800801410c30e53ce7a27219b2c4cf0ba diff --git a/trunk/net/core/dev.c b/trunk/net/core/dev.c index 7dec715293b1..60377b6c0a80 100644 --- a/trunk/net/core/dev.c +++ b/trunk/net/core/dev.c @@ -2491,12 +2491,6 @@ EXPORT_SYMBOL(napi_gro_receive); void napi_reuse_skb(struct napi_struct *napi, struct sk_buff *skb) { - skb_shinfo(skb)->nr_frags = 0; - - skb->len -= skb->data_len; - skb->truesize -= skb->data_len; - skb->data_len = 0; - __skb_pull(skb, skb_headlen(skb)); skb_reserve(skb, NET_IP_ALIGN - skb_headroom(skb)); diff --git a/trunk/net/core/skbuff.c b/trunk/net/core/skbuff.c index 5110b359c758..65eac7739033 100644 --- a/trunk/net/core/skbuff.c +++ b/trunk/net/core/skbuff.c @@ -2602,6 +2602,12 @@ int skb_gro_receive(struct sk_buff **head, struct sk_buff *skb) skb_shinfo(skb)->nr_frags * sizeof(skb_frag_t)); skb_shinfo(p)->nr_frags += skb_shinfo(skb)->nr_frags; + skb_shinfo(skb)->nr_frags = 0; + + skb->truesize -= skb->data_len; + skb->len -= skb->data_len; + skb->data_len = 0; + NAPI_GRO_CB(skb)->free = 1; goto done; }