aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/tcp_timer.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4/tcp_timer.c')
-rw-r--r--net/ipv4/tcp_timer.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c
index 1e61f0bd6e24..074de38bafbd 100644
--- a/net/ipv4/tcp_timer.c
+++ b/net/ipv4/tcp_timer.c
@@ -378,6 +378,7 @@ static void tcp_fastopen_synack_timer(struct sock *sk)
378 struct inet_connection_sock *icsk = inet_csk(sk); 378 struct inet_connection_sock *icsk = inet_csk(sk);
379 int max_retries = icsk->icsk_syn_retries ? : 379 int max_retries = icsk->icsk_syn_retries ? :
380 sock_net(sk)->ipv4.sysctl_tcp_synack_retries + 1; /* add one more retry for fastopen */ 380 sock_net(sk)->ipv4.sysctl_tcp_synack_retries + 1; /* add one more retry for fastopen */
381 struct tcp_sock *tp = tcp_sk(sk);
381 struct request_sock *req; 382 struct request_sock *req;
382 383
383 req = tcp_sk(sk)->fastopen_rsk; 384 req = tcp_sk(sk)->fastopen_rsk;
@@ -395,6 +396,8 @@ static void tcp_fastopen_synack_timer(struct sock *sk)
395 inet_rtx_syn_ack(sk, req); 396 inet_rtx_syn_ack(sk, req);
396 req->num_timeout++; 397 req->num_timeout++;
397 icsk->icsk_retransmits++; 398 icsk->icsk_retransmits++;
399 if (!tp->retrans_stamp)
400 tp->retrans_stamp = tcp_time_stamp(tp);
398 inet_csk_reset_xmit_timer(sk, ICSK_TIME_RETRANS, 401 inet_csk_reset_xmit_timer(sk, ICSK_TIME_RETRANS,
399 TCP_TIMEOUT_INIT << req->num_timeout, TCP_RTO_MAX); 402 TCP_TIMEOUT_INIT << req->num_timeout, TCP_RTO_MAX);
400} 403}