|
@@ -2520,8 +2520,8 @@ static inline void tcp_end_cwnd_reduction(struct sock *sk)
|
|
return;
|
|
return;
|
|
|
|
|
|
/* Reset cwnd to ssthresh in CWR or Recovery (unless it's undone) */
|
|
/* Reset cwnd to ssthresh in CWR or Recovery (unless it's undone) */
|
|
- if (inet_csk(sk)->icsk_ca_state == TCP_CA_CWR ||
|
|
|
|
- (tp->undo_marker && tp->snd_ssthresh < TCP_INFINITE_SSTHRESH)) {
|
|
|
|
|
|
+ if (tp->snd_ssthresh < TCP_INFINITE_SSTHRESH &&
|
|
|
|
+ (inet_csk(sk)->icsk_ca_state == TCP_CA_CWR || tp->undo_marker)) {
|
|
tp->snd_cwnd = tp->snd_ssthresh;
|
|
tp->snd_cwnd = tp->snd_ssthresh;
|
|
tp->snd_cwnd_stamp = tcp_jiffies32;
|
|
tp->snd_cwnd_stamp = tcp_jiffies32;
|
|
}
|
|
}
|