diff options
author | Jiri Kosina <jkosina@suse.cz> | 2020-04-01 13:32:45 +0200 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2020-04-01 13:32:45 +0200 |
commit | 4c805fb704fc7890ec6615b286f09aeb5e2603d4 (patch) | |
tree | 24f79be444c9dd3df7116037fd3bd3e17b01ebd3 /net/ipv4/tcp_input.c | |
parent | f454d9a378a1ccb676adfa6e2449ef17e66696b5 (diff) | |
parent | 77a36a3ab4ff17fad23831192e3694a3c5a1750d (diff) |
Merge branch 'for-5.7/glorious' into for-linus
- report descriptor fix for Glorious PC Gaming Race device from Samuel Čavoj
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; |