diff options
-rw-r--r-- | net/ipv4/tcp_input.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 2920e0cb09f8..dad026fcfd09 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
@@ -2520,8 +2520,8 @@ static inline void tcp_end_cwnd_reduction(struct sock *sk) | |||
2520 | return; | 2520 | return; |
2521 | 2521 | ||
2522 | /* Reset cwnd to ssthresh in CWR or Recovery (unless it's undone) */ | 2522 | /* Reset cwnd to ssthresh in CWR or Recovery (unless it's undone) */ |
2523 | if (inet_csk(sk)->icsk_ca_state == TCP_CA_CWR || | 2523 | if (tp->snd_ssthresh < TCP_INFINITE_SSTHRESH && |
2524 | (tp->undo_marker && tp->snd_ssthresh < TCP_INFINITE_SSTHRESH)) { | 2524 | (inet_csk(sk)->icsk_ca_state == TCP_CA_CWR || tp->undo_marker)) { |
2525 | tp->snd_cwnd = tp->snd_ssthresh; | 2525 | tp->snd_cwnd = tp->snd_ssthresh; |
2526 | tp->snd_cwnd_stamp = tcp_jiffies32; | 2526 | tp->snd_cwnd_stamp = tcp_jiffies32; |
2527 | } | 2527 | } |