diff options
Diffstat (limited to 'net/core/skbuff.c')
-rw-r--r-- | net/core/skbuff.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 5110b359c75..65eac773903 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c | |||
@@ -2602,6 +2602,12 @@ int skb_gro_receive(struct sk_buff **head, struct sk_buff *skb) | |||
2602 | skb_shinfo(skb)->nr_frags * sizeof(skb_frag_t)); | 2602 | skb_shinfo(skb)->nr_frags * sizeof(skb_frag_t)); |
2603 | 2603 | ||
2604 | skb_shinfo(p)->nr_frags += skb_shinfo(skb)->nr_frags; | 2604 | skb_shinfo(p)->nr_frags += skb_shinfo(skb)->nr_frags; |
2605 | skb_shinfo(skb)->nr_frags = 0; | ||
2606 | |||
2607 | skb->truesize -= skb->data_len; | ||
2608 | skb->len -= skb->data_len; | ||
2609 | skb->data_len = 0; | ||
2610 | |||
2605 | NAPI_GRO_CB(skb)->free = 1; | 2611 | NAPI_GRO_CB(skb)->free = 1; |
2606 | goto done; | 2612 | goto done; |
2607 | } | 2613 | } |