diff options
-rw-r--r-- | net/ipv4/inet_connection_sock.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c index f24c7d534081..8a45be988709 100644 --- a/net/ipv4/inet_connection_sock.c +++ b/net/ipv4/inet_connection_sock.c | |||
@@ -461,8 +461,9 @@ void inet_csk_reqsk_queue_prune(struct sock *parent, | |||
461 | reqp=&lopt->syn_table[i]; | 461 | reqp=&lopt->syn_table[i]; |
462 | while ((req = *reqp) != NULL) { | 462 | while ((req = *reqp) != NULL) { |
463 | if (time_after_eq(now, req->expires)) { | 463 | if (time_after_eq(now, req->expires)) { |
464 | if ((req->retrans < (inet_rsk(req)->acked ? max_retries : thresh)) | 464 | if ((req->retrans < (inet_rsk(req)->acked ? max_retries : thresh)) && |
465 | && !req->rsk_ops->rtx_syn_ack(parent, req)) { | 465 | (inet_rsk(req)->acked || |
466 | !req->rsk_ops->rtx_syn_ack(parent, req))) { | ||
466 | unsigned long timeo; | 467 | unsigned long timeo; |
467 | 468 | ||
468 | if (req->retrans++ == 0) | 469 | if (req->retrans++ == 0) |