diff options
author | Ingo Molnar <mingo@kernel.org> | 2020-03-06 14:49:56 +0300 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2020-03-06 14:49:56 +0300 |
commit | 1b10d388d094bb32129060236add6f50b204a69d (patch) | |
tree | 08272a4d89833d139e615b07675f95e403cdddbd /net/ipv4/tcp_input.c | |
parent | a0f03b617c3b2644d3d47bf7d9e60aed01bd5b10 (diff) | |
parent | 8b614cb8f1dcac8ca77cf4dd85f46ef3055f8238 (diff) | |
download | linux-1b10d388d094bb32129060236add6f50b204a69d.tar.xz |
Merge branch 'linus' into sched/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'net/ipv4/tcp_input.c')
-rw-r--r-- | net/ipv4/tcp_input.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 316ebdf8151d..6b6b57000dad 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -6124,7 +6124,11 @@ static void tcp_rcv_synrecv_state_fastopen(struct sock *sk) { struct request_sock *req; - tcp_try_undo_loss(sk, false); + /* If we are still handling the SYNACK RTO, see if timestamp ECR allows + * undo. If peer SACKs triggered fast recovery, we can't undo here. + */ + if (inet_csk(sk)->icsk_ca_state == TCP_CA_Loss) + tcp_try_undo_loss(sk, false); /* Reset rtx states to prevent spurious retransmits_timed_out() */ tcp_sk(sk)->retrans_stamp = 0; |