diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2017-04-29 18:13:26 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2017-04-29 18:13:26 +0000 |
commit | 542d2328756ba8b2bd7db37e10db71bcbf4b2251 (patch) | |
tree | ef36398cc53b014d3a357e59127ecee42feab8a0 | |
parent | 29f7f72d396caf4cb0d21c112dceb0968e5d7458 (diff) |
Decrement ci_idepth on all returns from agintc_irq_handler().
-rw-r--r-- | sys/arch/arm64/dev/agintc.c | 7 |
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); |