summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvisa <visa@openbsd.org>2019-03-17 16:31:26 +0000
committervisa <visa@openbsd.org>2019-03-17 16:31:26 +0000
commit7abddf2ddcc71e5b108c732b21320a22261d549c (patch)
treebe997e1b226ae6ec1259dd7e2b0d332036884f3a
parentReplace a hand-rolled linked list with SLIST. (diff)
downloadwireguard-openbsd-7abddf2ddcc71e5b108c732b21320a22261d549c.tar.xz
wireguard-openbsd-7abddf2ddcc71e5b108c732b21320a22261d549c.zip
Remember to detach the event counter when disestablishing
an interrupt handler.
-rw-r--r--sys/arch/octeon/dev/octcit.c3
-rw-r--r--sys/arch/octeon/dev/octciu.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/sys/arch/octeon/dev/octcit.c b/sys/arch/octeon/dev/octcit.c
index fed2278206f..f25b88676ad 100644
--- a/sys/arch/octeon/dev/octcit.c
+++ b/sys/arch/octeon/dev/octcit.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: octcit.c,v 1.9 2019/03/17 05:25:06 visa Exp $ */
+/* $OpenBSD: octcit.c,v 1.10 2019/03/17 16:31:26 visa Exp $ */
/*
* Copyright (c) 2017, 2019 Visa Hankala
@@ -360,6 +360,7 @@ octcit_intr_disestablish(void *_ih)
}
SLIST_REMOVE(&sc->sc_handlers[hash], ih, octcit_intrhand, ih_list);
+ evcount_detach(&ih->ih_count);
/* Recompute IPL floor if necessary. */
if (sc->sc_minipl[ci->ci_cpuid] == ih->ih_level) {
diff --git a/sys/arch/octeon/dev/octciu.c b/sys/arch/octeon/dev/octciu.c
index 7e422ac9053..9ec6b429e80 100644
--- a/sys/arch/octeon/dev/octciu.c
+++ b/sys/arch/octeon/dev/octciu.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: octciu.c,v 1.15 2019/03/17 16:27:16 visa Exp $ */
+/* $OpenBSD: octciu.c,v 1.16 2019/03/17 16:31:26 visa Exp $ */
/*
* Copyright (c) 2000-2004 Opsycon AB (www.opsycon.se)
@@ -342,6 +342,7 @@ octciu_intr_disestablish(void *_ih)
panic("%s: intrhand %p not registered", __func__, ih);
SLIST_REMOVE(&sc->sc_intrhand[irq], ih, octciu_intrhand, ih_list);
+ evcount_detach(&ih->ih_count);
if (SLIST_EMPTY(&sc->sc_intrhand[irq])) {
sc->sc_cpu[cpuid].scpu_intem[IRQ_TO_BANK(irq)] &=