diff options
-rw-r--r-- | net/ipv4/tcp_input.c | 4 |
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 | */ |
2253 | static inline bool tcp_packet_delayed(const struct tcp_sock *tp) | 2253 | static 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)) { |