|
@@ -461,8 +461,9 @@ void inet_csk_reqsk_queue_prune(struct sock *parent,
|
|
|
reqp=&lopt->syn_table[i];
|
|
|
while ((req = *reqp) != NULL) {
|
|
|
if (time_after_eq(now, req->expires)) {
|
|
|
- if ((req->retrans < (inet_rsk(req)->acked ? max_retries : thresh))
|
|
|
- && !req->rsk_ops->rtx_syn_ack(parent, req)) {
|
|
|
+ if ((req->retrans < (inet_rsk(req)->acked ? max_retries : thresh)) &&
|
|
|
+ (inet_rsk(req)->acked ||
|
|
|
+ !req->rsk_ops->rtx_syn_ack(parent, req))) {
|
|
|
unsigned long timeo;
|
|
|
|
|
|
if (req->retrans++ == 0)
|