diff options
Diffstat (limited to 'net/ipv4')
-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 8aca4ee95ff9..680c4224ed96 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
@@ -3484,7 +3484,8 @@ static bool tcp_process_frto(struct sock *sk, int flag) | |||
3484 | ((tp->frto_counter >= 2) && (flag & FLAG_RETRANS_DATA_ACKED))) | 3484 | ((tp->frto_counter >= 2) && (flag & FLAG_RETRANS_DATA_ACKED))) |
3485 | tp->undo_marker = 0; | 3485 | tp->undo_marker = 0; |
3486 | 3486 | ||
3487 | if (!before(tp->snd_una, tp->frto_highmark)) { | 3487 | if (!before(tp->snd_una, tp->frto_highmark) || |
3488 | !tcp_packets_in_flight(tp)) { | ||
3488 | tcp_enter_frto_loss(sk, (tp->frto_counter == 1 ? 2 : 3), flag); | 3489 | tcp_enter_frto_loss(sk, (tp->frto_counter == 1 ? 2 : 3), flag); |
3489 | return true; | 3490 | return true; |
3490 | } | 3491 | } |