diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-12-15 14:56:43 (GMT) |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-12-15 14:56:43 (GMT) |
commit | 326b06a8a9b09d6d9a276fd550b6b6bb138e9a47 (patch) | |
tree | b9bdcb0bd635b91258cec09c981af2c5dcc0f683 /net/core | |
parent | 92b2e81d6f95bcee386abac4c4389f5b950f7bb9 (diff) | |
parent | 9bffb1fb7c22c96d51d4ba06e2e023dd568a5872 (diff) | |
download | linux-fsl-qoriq-326b06a8a9b09d6d9a276fd550b6b6bb138e9a47.tar.xz |
Merge remote-tracking branch 'asoc/topic/core' into asoc-next
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/dev.c | 2 | ||||
-rw-r--r-- | net/core/skbuff.c | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index c0946cb..e5942bf 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -3451,6 +3451,8 @@ static int napi_gro_complete(struct sk_buff *skb) struct list_head *head = &ptype_base[ntohs(type) & PTYPE_HASH_MASK]; int err = -ENOENT; + BUILD_BUG_ON(sizeof(struct napi_gro_cb) > sizeof(skb->cb)); + if (NAPI_GRO_CB(skb)->count == 1) { skb_shinfo(skb)->gso_size = 0; goto out; diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 4007c14..3f0636c 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -3004,7 +3004,7 @@ int skb_gro_receive(struct sk_buff **head, struct sk_buff *skb) skb_shinfo(nskb)->gso_size = pinfo->gso_size; pinfo->gso_size = 0; skb_header_release(p); - nskb->prev = p; + NAPI_GRO_CB(nskb)->last = p; nskb->data_len += p->len; nskb->truesize += p->truesize; @@ -3030,8 +3030,8 @@ merge: __skb_pull(skb, offset); - p->prev->next = skb; - p->prev = skb; + NAPI_GRO_CB(p)->last->next = skb; + NAPI_GRO_CB(p)->last = skb; skb_header_release(skb); done: |