summaryrefslogtreecommitdiff
path: root/sys/arch/arm64/dev
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2017-04-29 18:13:26 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2017-04-29 18:13:26 +0000
commit542d2328756ba8b2bd7db37e10db71bcbf4b2251 (patch)
treeef36398cc53b014d3a357e59127ecee42feab8a0 /sys/arch/arm64/dev
parent29f7f72d396caf4cb0d21c112dceb0968e5d7458 (diff)
Decrement ci_idepth on all returns from agintc_irq_handler().
Diffstat (limited to 'sys/arch/arm64/dev')
-rw-r--r--sys/arch/arm64/dev/agintc.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/arch/arm64/dev/agintc.c b/sys/arch/arm64/dev/agintc.c
index e7016ddc450..e2efc1f9aec 100644
--- a/sys/arch/arm64/dev/agintc.c
+++ b/sys/arch/arm64/dev/agintc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: agintc.c,v 1.1 2017/04/29 17:24:41 kettenis Exp $ */
+/* $OpenBSD: agintc.c,v 1.2 2017/04/29 18:13:25 kettenis Exp $ */
/*
* Copyright (c) 2007, 2009, 2011, 2017 Dale Rahn <drahn@dalerahn.com>
*
@@ -624,11 +624,14 @@ agintc_irq_handler(void *frame)
if (irq == 1023) {
sc->sc_spur.ec_count++;
+ ci->ci_idepth--;
return;
}
- if (irq >= sc->sc_nintr)
+ if (irq >= sc->sc_nintr) {
+ ci->ci_idepth--;
return;
+ }
pri = sc->sc_agintc_handler[irq].iq_irq;
s = agintc_splraise(pri);