Module Name:    src
Committed By:   skrll
Date:           Thu Mar 29 09:26:24 UTC 2012

Modified Files:
        src/sys/arch/hp700/hp700: intr.c

Log Message:
Check for HPPA_SID_KERNEL when checking for interrupt in the
mutex_enter critical section.


To generate a diff of this commit:
cvs rdiff -u -r1.37 -r1.38 src/sys/arch/hp700/hp700/intr.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/arch/hp700/hp700/intr.c
diff -u src/sys/arch/hp700/hp700/intr.c:1.37 src/sys/arch/hp700/hp700/intr.c:1.38
--- src/sys/arch/hp700/hp700/intr.c:1.37	Thu Mar  1 21:10:00 2012
+++ src/sys/arch/hp700/hp700/intr.c	Thu Mar 29 09:26:24 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: intr.c,v 1.37 2012/03/01 21:10:00 skrll Exp $	*/
+/*	$NetBSD: intr.c,v 1.38 2012/03/29 09:26:24 skrll Exp $	*/
 /*	$OpenBSD: intr.c,v 1.27 2009/12/31 12:52:35 jsing Exp $	*/
 
 /*
@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.37 2012/03/01 21:10:00 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.38 2012/03/29 09:26:24 skrll Exp $");
 
 #define __MUTEX_PRIVATE
 
@@ -391,7 +391,8 @@ hppa_intr(struct trapframe *frame)
 	 * interrupt handlers need to aquire the mutex, they could deadlock if
 	 * the owner value is left unset.
 	 */
-	if (frame->tf_iioq_head >= (u_int)mutex_enter_crit_start &&
+	if (frame->tf_iisq_head == HPPA_SID_KERNEL &&
+	    frame->tf_iioq_head >= (u_int)mutex_enter_crit_start &&
 	    frame->tf_iioq_head <= (u_int)mutex_enter_crit_end &&
 	    frame->tf_ret0 != 0)
 		((kmutex_t *)frame->tf_arg0)->mtx_owner = (uintptr_t)curlwp;

Reply via email to