net: Update remote checksum segmentation to support use of GSO checksum
[deliverable/linux.git] / net / core / skbuff.c
index 02c638a643ea347c5e1977eeb4992ab89b203933..9c065ac72e873945f655461517454d19cb477673 100644 (file)
@@ -3098,8 +3098,9 @@ struct sk_buff *skb_segment(struct sk_buff *head_skb,
                if (nskb->len == len + doffset)
                        goto perform_csum_check;
 
-               if (!sg && !nskb->remcsum_offload) {
-                       nskb->ip_summed = CHECKSUM_NONE;
+               if (!sg) {
+                       if (!nskb->remcsum_offload)
+                               nskb->ip_summed = CHECKSUM_NONE;
                        SKB_GSO_CB(nskb)->csum =
                                skb_copy_and_csum_bits(head_skb, offset,
                                                       skb_put(nskb, len),
@@ -3171,8 +3172,9 @@ skip_fraglist:
                nskb->truesize += nskb->data_len;
 
 perform_csum_check:
-               if (!csum && !nskb->remcsum_offload) {
-                       nskb->ip_summed = CHECKSUM_NONE;
+               if (!csum) {
+                       if (!nskb->remcsum_offload)
+                               nskb->ip_summed = CHECKSUM_NONE;
                        SKB_GSO_CB(nskb)->csum =
                                skb_checksum(nskb, doffset,
                                             nskb->len - doffset, 0);
This page took 0.024416 seconds and 5 git commands to generate.