patch-2.0.6 linux/net/ipv4/tcp_output.c

Next file: linux/Makefile
Previous file: linux/net/ipv4/ip_sockglue.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.0.5/linux/net/ipv4/tcp_output.c linux/net/ipv4/tcp_output.c
@@ -878,24 +878,12 @@
  */
 void tcp_send_delayed_ack(struct sock * sk, int max_timeout, unsigned long timeout)
 {
-	unsigned long now;
-	static int delack_guard=0;
-
-	if(delack_guard)
-		return;
-	
-	delack_guard++;
-	
 	/* Calculate new timeout */
-	now = jiffies;
 	if (timeout > max_timeout)
 		timeout = max_timeout;
-	timeout += now;
-	if (sk->bytes_rcv >= sk->max_unacked) {
-		tcp_send_ack(sk);
-		delack_guard--;
-		return;
-	}
+	if (sk->bytes_rcv >= sk->max_unacked)
+		timeout = 0;
+	timeout += jiffies;
 
 	/* Use new timeout only if there wasn't a older one earlier  */
 	if (!del_timer(&sk->delack_timer) || timeout < sk->delack_timer.expires)
@@ -903,7 +891,6 @@
 
 	sk->ack_backlog++;
 	add_timer(&sk->delack_timer);
-	delack_guard--;
 }
 
 


FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov