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;