diff options
Diffstat (limited to 'net/ipv4/tcp_output.c')
| -rw-r--r-- | net/ipv4/tcp_output.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 6094db5e11be..c10e4435e3b1 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c | |||
| @@ -485,11 +485,6 @@ int tcp_fragment(struct sock *sk, struct sk_buff *skb, u32 len, unsigned int mss | |||
| 485 | TCP_SKB_CB(buff)->when = TCP_SKB_CB(skb)->when; | 485 | TCP_SKB_CB(buff)->when = TCP_SKB_CB(skb)->when; |
| 486 | buff->tstamp = skb->tstamp; | 486 | buff->tstamp = skb->tstamp; |
| 487 | 487 | ||
| 488 | if (TCP_SKB_CB(skb)->sacked & TCPCB_LOST) { | ||
| 489 | tp->lost_out -= tcp_skb_pcount(skb); | ||
| 490 | tp->left_out -= tcp_skb_pcount(skb); | ||
| 491 | } | ||
| 492 | |||
| 493 | old_factor = tcp_skb_pcount(skb); | 488 | old_factor = tcp_skb_pcount(skb); |
| 494 | 489 | ||
| 495 | /* Fix up tso_factor for both original and new SKB. */ | 490 | /* Fix up tso_factor for both original and new SKB. */ |
| @@ -499,7 +494,7 @@ int tcp_fragment(struct sock *sk, struct sk_buff *skb, u32 len, unsigned int mss | |||
| 499 | /* If this packet has been sent out already, we must | 494 | /* If this packet has been sent out already, we must |
| 500 | * adjust the various packet counters. | 495 | * adjust the various packet counters. |
| 501 | */ | 496 | */ |
| 502 | if (after(tp->snd_nxt, TCP_SKB_CB(buff)->end_seq)) { | 497 | if (!before(tp->snd_nxt, TCP_SKB_CB(buff)->end_seq)) { |
| 503 | int diff = old_factor - tcp_skb_pcount(skb) - | 498 | int diff = old_factor - tcp_skb_pcount(skb) - |
| 504 | tcp_skb_pcount(buff); | 499 | tcp_skb_pcount(buff); |
| 505 | 500 | ||
