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;