|
@@ -1917,14 +1917,13 @@ void tcp_enter_loss(struct sock *sk)
|
|
|
const struct inet_connection_sock *icsk = inet_csk(sk);
|
|
|
struct tcp_sock *tp = tcp_sk(sk);
|
|
|
struct sk_buff *skb;
|
|
|
- bool new_recovery = false;
|
|
|
+ bool new_recovery = icsk->icsk_ca_state < TCP_CA_Recovery;
|
|
|
bool is_reneg; /* is receiver reneging on SACKs? */
|
|
|
|
|
|
/* Reduce ssthresh if it has not yet been made inside this window. */
|
|
|
if (icsk->icsk_ca_state <= TCP_CA_Disorder ||
|
|
|
!after(tp->high_seq, tp->snd_una) ||
|
|
|
(icsk->icsk_ca_state == TCP_CA_Loss && !icsk->icsk_retransmits)) {
|
|
|
- new_recovery = true;
|
|
|
tp->prior_ssthresh = tcp_current_ssthresh(sk);
|
|
|
tp->snd_ssthresh = icsk->icsk_ca_ops->ssthresh(sk);
|
|
|
tcp_ca_event(sk, CA_EVENT_LOSS);
|