From e26bc40bbe9b2fcffd0ff77e7f1cbf1289942b8c Mon Sep 17 00:00:00 2001 From: Patrick McManus Date: Fri, 21 Mar 2008 16:29:22 -0700 Subject: [PATCH] --- yaml --- r: 90199 b: refs/heads/master c: e4c78840284f3f51b1896cf3936d60a6033c4d2c h: refs/heads/master i: 90197: a97c4be8a7da50608f2da3e0ae9472e36bba8a86 90195: 0f874737d40a5552526605bb98c57a1b0787ab4d 90191: 769d1e3d300dbb91a8ee682025ea534751ca5f88 v: v3 --- [refs] | 2 +- trunk/net/ipv4/inet_connection_sock.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 6817ebc34307..02a78b791614 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 539fae89bebd16ebeafd57a87169bc56eb530d76 +refs/heads/master: e4c78840284f3f51b1896cf3936d60a6033c4d2c diff --git a/trunk/net/ipv4/inet_connection_sock.c b/trunk/net/ipv4/inet_connection_sock.c index f24c7d534081..8a45be988709 100644 --- a/trunk/net/ipv4/inet_connection_sock.c +++ b/trunk/net/ipv4/inet_connection_sock.c @@ -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)