Module Name:    src
Committed By:   tls
Date:           Thu Apr  1 14:31:51 UTC 2010

Modified Files:
        src/sys/netinet: tcp_input.c

Log Message:
Oops.  Fix LOCKDEBUG panic -- and spurious calls to tcp_output()! -- in
previous.  Be careful with that {}, Eugene.


To generate a diff of this commit:
cvs rdiff -u -r1.301 -r1.302 src/sys/netinet/tcp_input.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/netinet/tcp_input.c
diff -u src/sys/netinet/tcp_input.c:1.301 src/sys/netinet/tcp_input.c:1.302
--- src/sys/netinet/tcp_input.c:1.301	Thu Apr  1 00:24:41 2010
+++ src/sys/netinet/tcp_input.c	Thu Apr  1 14:31:51 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: tcp_input.c,v 1.301 2010/04/01 00:24:41 tls Exp $	*/
+/*	$NetBSD: tcp_input.c,v 1.302 2010/04/01 14:31:51 tls Exp $	*/
 
 /*
  * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -145,7 +145,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tcp_input.c,v 1.301 2010/04/01 00:24:41 tls Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tcp_input.c,v 1.302 2010/04/01 14:31:51 tls Exp $");
 
 #include "opt_inet.h"
 #include "opt_ipsec.h"
@@ -1786,10 +1786,11 @@
 					    tp->t_rxtcur);
 
 				sowwakeup(so);
-				if (so->so_snd.sb_cc)
+				if (so->so_snd.sb_cc) {
 					KERNEL_LOCK(1, NULL);
 					(void) tcp_output(tp);
 					KERNEL_UNLOCK_ONE(NULL);
+				}
 				if (tcp_saveti)
 					m_freem(tcp_saveti);
 				return;
@@ -1884,10 +1885,11 @@
 			}
 			sorwakeup(so);
 			tcp_setup_ack(tp, th);
-			if (tp->t_flags & TF_ACKNOW)
+			if (tp->t_flags & TF_ACKNOW) {
 				KERNEL_LOCK(1, NULL);
 				(void) tcp_output(tp);
 				KERNEL_UNLOCK_ONE(NULL);
+			}
 			if (tcp_saveti)
 				m_freem(tcp_saveti);
 			return;

Reply via email to