aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/ipv4/tcp_input.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index 97671bff597a..e2cbfc3ffa3f 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -2252,7 +2252,7 @@ static bool tcp_skb_spurious_retrans(const struct tcp_sock *tp,
2252 */ 2252 */
2253static inline bool tcp_packet_delayed(const struct tcp_sock *tp) 2253static inline bool tcp_packet_delayed(const struct tcp_sock *tp)
2254{ 2254{
2255 return !tp->retrans_stamp || 2255 return tp->retrans_stamp &&
2256 tcp_tsopt_ecr_before(tp, tp->retrans_stamp); 2256 tcp_tsopt_ecr_before(tp, tp->retrans_stamp);
2257} 2257}
2258 2258
@@ -3521,7 +3521,7 @@ static void tcp_xmit_recovery(struct sock *sk, int rexmit)
3521{ 3521{
3522 struct tcp_sock *tp = tcp_sk(sk); 3522 struct tcp_sock *tp = tcp_sk(sk);
3523 3523
3524 if (rexmit == REXMIT_NONE) 3524 if (rexmit == REXMIT_NONE || sk->sk_state == TCP_SYN_SENT)
3525 return; 3525 return;
3526 3526
3527 if (unlikely(rexmit == 2)) { 3527 if (unlikely(rexmit == 2)) {