diff options
Diffstat (limited to 'net/ipv4/tcp_input.c')
-rw-r--r-- | net/ipv4/tcp_input.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index eaf20e7e61da..f6fdd727a23d 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
@@ -2532,7 +2532,8 @@ static void tcp_mark_head_lost(struct sock *sk, int packets) | |||
2532 | cnt += tcp_skb_pcount(skb); | 2532 | cnt += tcp_skb_pcount(skb); |
2533 | 2533 | ||
2534 | if (cnt > packets) { | 2534 | if (cnt > packets) { |
2535 | if (tcp_is_sack(tp) || (oldcnt >= packets)) | 2535 | if ((tcp_is_sack(tp) && !tcp_is_fack(tp)) || |
2536 | (oldcnt >= packets)) | ||
2536 | break; | 2537 | break; |
2537 | 2538 | ||
2538 | mss = skb_shinfo(skb)->gso_size; | 2539 | mss = skb_shinfo(skb)->gso_size; |