diff options
author | Eric Anholt <eric@anholt.net> | 2010-08-01 19:23:53 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2010-08-01 19:34:47 -0700 |
commit | 2bd34f6ca86b5a5f9b749624f73310820e7a93fd (patch) | |
tree | 9e42100423e78f400412dfa974a6a13bac94d2c0 /net/core/skbuff.c | |
parent | a2757b6fab6dee3dbf43bdb7d7226d03747fbdb1 (diff) | |
parent | 9fe6206f400646a2322096b56c59891d530e8d51 (diff) | |
download | talos-op-linux-2bd34f6ca86b5a5f9b749624f73310820e7a93fd.tar.gz talos-op-linux-2bd34f6ca86b5a5f9b749624f73310820e7a93fd.zip |
Merge remote branch 'origin/master' into drm-intel-next
This resolves the conflict in the EDP code, which has been rather
popular to hack on recently.
Conflicts:
drivers/gpu/drm/i915/intel_dp.c
Diffstat (limited to 'net/core/skbuff.c')
-rw-r--r-- | net/core/skbuff.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 34432b4e96bb..ce88293a34e2 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -843,7 +843,9 @@ int pskb_expand_head(struct sk_buff *skb, int nhead, int ntail, skb->network_header += off; if (skb_mac_header_was_set(skb)) skb->mac_header += off; - skb->csum_start += nhead; + /* Only adjust this if it actually is csum_start rather than csum */ + if (skb->ip_summed == CHECKSUM_PARTIAL) + skb->csum_start += nhead; skb->cloned = 0; skb->hdr_len = 0; skb->nohdr = 0; @@ -930,7 +932,8 @@ struct sk_buff *skb_copy_expand(const struct sk_buff *skb, copy_skb_header(n, skb); off = newheadroom - oldheadroom; - n->csum_start += off; + if (n->ip_summed == CHECKSUM_PARTIAL) + n->csum_start += off; #ifdef NET_SKBUFF_DATA_USES_OFFSET n->transport_header += off; n->network_header += off; |