aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/ipv4/tcp_input.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index 194e880af51e..e806839acdd9 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -1286,7 +1286,8 @@ void tcp_enter_frto(struct sock *sk)
1286 } 1286 }
1287 tcp_sync_left_out(tp); 1287 tcp_sync_left_out(tp);
1288 1288
1289 tcp_set_ca_state(sk, TCP_CA_Open); 1289 tcp_set_ca_state(sk, TCP_CA_Disorder);
1290 tp->high_seq = tp->snd_nxt;
1290 tp->frto_highmark = tp->snd_nxt; 1291 tp->frto_highmark = tp->snd_nxt;
1291 tp->frto_counter = 1; 1292 tp->frto_counter = 1;
1292} 1293}
@@ -2014,8 +2015,7 @@ tcp_fastretrans_alert(struct sock *sk, u32 prior_snd_una,
2014 /* E. Check state exit conditions. State can be terminated 2015 /* E. Check state exit conditions. State can be terminated
2015 * when high_seq is ACKed. */ 2016 * when high_seq is ACKed. */
2016 if (icsk->icsk_ca_state == TCP_CA_Open) { 2017 if (icsk->icsk_ca_state == TCP_CA_Open) {
2017 if (!sysctl_tcp_frto) 2018 BUG_TRAP(tp->retrans_out == 0);
2018 BUG_TRAP(tp->retrans_out == 0);
2019 tp->retrans_stamp = 0; 2019 tp->retrans_stamp = 0;
2020 } else if (!before(tp->snd_una, tp->high_seq)) { 2020 } else if (!before(tp->snd_una, tp->high_seq)) {
2021 switch (icsk->icsk_ca_state) { 2021 switch (icsk->icsk_ca_state) {