diff options
Diffstat (limited to 'net/ipv4/tcp.c')
-rw-r--r-- | net/ipv4/tcp.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index f28acf11fc67..4d655e945413 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c | |||
@@ -2519,9 +2519,7 @@ found: | |||
2519 | flush |= memcmp(th + 1, th2 + 1, thlen - sizeof(*th)); | 2519 | flush |= memcmp(th + 1, th2 + 1, thlen - sizeof(*th)); |
2520 | 2520 | ||
2521 | total = p->len; | 2521 | total = p->len; |
2522 | mss = total; | 2522 | mss = skb_shinfo(p)->gso_size; |
2523 | if (skb_shinfo(p)->frag_list) | ||
2524 | mss = skb_shinfo(p)->frag_list->len; | ||
2525 | 2523 | ||
2526 | flush |= skb->len > mss || skb->len <= 0; | 2524 | flush |= skb->len > mss || skb->len <= 0; |
2527 | flush |= ntohl(th2->seq) + total != ntohl(th->seq); | 2525 | flush |= ntohl(th2->seq) + total != ntohl(th->seq); |
@@ -2557,7 +2555,6 @@ int tcp_gro_complete(struct sk_buff *skb) | |||
2557 | skb->csum_offset = offsetof(struct tcphdr, check); | 2555 | skb->csum_offset = offsetof(struct tcphdr, check); |
2558 | skb->ip_summed = CHECKSUM_PARTIAL; | 2556 | skb->ip_summed = CHECKSUM_PARTIAL; |
2559 | 2557 | ||
2560 | skb_shinfo(skb)->gso_size = skb_shinfo(skb)->frag_list->len; | ||
2561 | skb_shinfo(skb)->gso_segs = NAPI_GRO_CB(skb)->count; | 2558 | skb_shinfo(skb)->gso_segs = NAPI_GRO_CB(skb)->count; |
2562 | 2559 | ||
2563 | if (th->cwr) | 2560 | if (th->cwr) |