summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2020-07-21 20:22:04 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2020-07-21 20:22:04 +0000
commit3793f646520da4a1861a67a31cc6b5961ecee457 (patch)
treeb61f53f13478f7414ce4cd47fe29c1fa448f98b7 /sys/arch
parent9ca6fd4ee8dd6c29ac42068832fa24cdc09316b0 (diff)
Add missing KERNEL_LOCK() and KERNEL_UNLOCK() calls.
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/powerpc64/dev/xive.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/arch/powerpc64/dev/xive.c b/sys/arch/powerpc64/dev/xive.c
index 5d21dbfc3f5..3a8a20fee44 100644
--- a/sys/arch/powerpc64/dev/xive.c
+++ b/sys/arch/powerpc64/dev/xive.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: xive.c,v 1.6 2020/07/16 19:10:33 kettenis Exp $ */
+/* $OpenBSD: xive.c,v 1.7 2020/07/21 20:22:03 kettenis Exp $ */
/*
* Copyright (c) 2020 Mark Kettenis <kettenis@openbsd.org>
*
@@ -382,11 +382,13 @@ xive_hvi(struct trapframe *frame)
KASSERT(lirq < XIVE_NUM_IRQS);
ih = sc->sc_handler[lirq];
if (ih != NULL) {
+ KERNEL_LOCK();
intr_enable();
handled = ih->ih_func(ih->ih_arg);
intr_disable();
if (handled)
ih->ih_count.ec_count++;
+ KERNEL_UNLOCK();
xive_eoi(sc, ih);
}
eq->eq_idx = (eq->eq_idx + 1) & XIVE_EQ_IDX_MASK;