]> err.no Git - linux-2.6/blobdiff - net/ipv4/inet_connection_sock.c
tcp: Revert reset of deferred accept changes in 2.6.26
[linux-2.6] / net / ipv4 / inet_connection_sock.c
index 045e799d3e1db4e5cc58f72c8a35fc3f05d2eb87..ec834480abe727c3cfee6100824cf87a2f7284fa 100644 (file)
@@ -466,9 +466,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)) &&
-                                   (inet_rsk(req)->acked ||
-                                    !req->rsk_ops->rtx_syn_ack(parent, req))) {
+                               if ((req->retrans < thresh ||
+                                    (inet_rsk(req)->acked && req->retrans < max_retries))
+                                   && !req->rsk_ops->rtx_syn_ack(parent, req)) {
                                        unsigned long timeo;
 
                                        if (req->retrans++ == 0)