summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2010-01-18 17:00:29 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2010-01-18 17:00:29 +0000
commite2ad9ff5a668df2737b6dd6918aac114de1bc135 (patch)
tree3ecf18d8e899eefdcf6a63da79531a9fb86ee440 /sys/arch
parentdf30a177444fe06be6762de755a15506697c2e68 (diff)
dosoftint() being invoked at IPL_SOFTINT, don't bother checking the ipl before
grabbing the kernel lock.
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/mips64/mips64/softintr.c18
1 files changed, 7 insertions, 11 deletions
diff --git a/sys/arch/mips64/mips64/softintr.c b/sys/arch/mips64/mips64/softintr.c
index 95ced828145..0ad480f8b0d 100644
--- a/sys/arch/mips64/mips64/softintr.c
+++ b/sys/arch/mips64/mips64/softintr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: softintr.c,v 1.10 2009/12/28 06:55:27 syuu Exp $ */
+/* $OpenBSD: softintr.c,v 1.11 2010/01/18 17:00:28 miod Exp $ */
/* $NetBSD: softintr.c,v 1.2 2003/07/15 00:24:39 lukem Exp $ */
/*
@@ -207,12 +207,10 @@ dosoftint()
#ifdef MULTIPROCESSOR
u_int32_t sr;
- if (ci->ci_ipl < IPL_SCHED) {
- /* Enable interrupts */
- sr = getsr();
- ENABLEIPI();
- __mp_lock(&kernel_lock);
- }
+ /* Enable interrupts */
+ sr = getsr();
+ ENABLEIPI();
+ __mp_lock(&kernel_lock);
#endif
while ((sir = ci->ci_softpending) != 0) {
@@ -226,9 +224,7 @@ dosoftint()
}
#ifdef MULTIPROCESSOR
- if (ci->ci_ipl < IPL_SCHED) {
- __mp_unlock(&kernel_lock);
- setsr(sr);
- }
+ __mp_unlock(&kernel_lock);
+ setsr(sr);
#endif
}