diff options
author | 2016-08-01 14:37:39 +0000 | |
---|---|---|
committer | 2016-08-01 14:37:39 +0000 | |
commit | eb509d4730beb25f51b15c43007d2cf151a8b920 (patch) | |
tree | 513fb314411721f98b37fb0bac13997d13f61901 /sys/dev/pv/xen.c | |
parent | Implement an FDT-aware interrupt establish API. This means the drivers (diff) | |
download | wireguard-openbsd-eb509d4730beb25f51b15c43007d2cf151a8b920.tar.xz wireguard-openbsd-eb509d4730beb25f51b15c43007d2cf151a8b920.zip |
Don't forget to destroy the taskqueue on interrupt disestablish
Diffstat (limited to 'sys/dev/pv/xen.c')
-rw-r--r-- | sys/dev/pv/xen.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/pv/xen.c b/sys/dev/pv/xen.c index d534be964a4..c12328cd0d1 100644 --- a/sys/dev/pv/xen.c +++ b/sys/dev/pv/xen.c @@ -1,4 +1,4 @@ -/* $OpenBSD: xen.c,v 1.57 2016/07/29 21:27:43 mikeb Exp $ */ +/* $OpenBSD: xen.c,v 1.58 2016/08/01 14:37:39 mikeb Exp $ */ /* * Copyright (c) 2015 Mike Belopuhov @@ -784,8 +784,11 @@ xen_intr_disestablish(xen_intr_handle_t xih) evcount_detach(&xi->xi_evcnt); + /* XXX not MP safe */ SLIST_REMOVE(&sc->sc_intrs, xi, xen_intsrc, xi_entry); + taskq_destroy(xi->xi_taskq); + setbit((char *)&sc->sc_ipg->evtchn_mask[0], xi->xi_port); clrbit((char *)&sc->sc_ipg->evtchn_pending[0], xi->xi_port); virtio_membar_sync(); |