diff options
author | 2019-03-17 16:31:26 +0000 | |
---|---|---|
committer | 2019-03-17 16:31:26 +0000 | |
commit | 7abddf2ddcc71e5b108c732b21320a22261d549c (patch) | |
tree | be997e1b226ae6ec1259dd7e2b0d332036884f3a | |
parent | Replace a hand-rolled linked list with SLIST. (diff) | |
download | wireguard-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.c | 3 | ||||
-rw-r--r-- | sys/arch/octeon/dev/octciu.c | 3 |
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)] &= |