aboutsummaryrefslogtreecommitdiff
path: root/sys/xen/evtchn
diff options
context:
space:
mode:
authorKip Macy <kmacy@FreeBSD.org>2010-02-21 01:12:18 +0000
committerKip Macy <kmacy@FreeBSD.org>2010-02-21 01:12:18 +0000
commitc9a425bae33a74ad3ee8de02dc2981bd934b5b5e (patch)
tree6ce0feaa4fece8e3f93ae0c6e24070dd872b15db /sys/xen/evtchn
parent227ca25786543ae1e760d0a50f77ae489a228a61 (diff)
downloadsrc-c9a425bae33a74ad3ee8de02dc2981bd934b5b5e.tar.gz
src-c9a425bae33a74ad3ee8de02dc2981bd934b5b5e.zip
don't hold spin lock across free
Notes
Notes: svn path=/head/; revision=204159
Diffstat (limited to 'sys/xen/evtchn')
-rw-r--r--sys/xen/evtchn/evtchn_dev.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/xen/evtchn/evtchn_dev.c b/sys/xen/evtchn/evtchn_dev.c
index 4253d8a1700d..7e21d7a07be6 100644
--- a/sys/xen/evtchn/evtchn_dev.c
+++ b/sys/xen/evtchn/evtchn_dev.c
@@ -302,11 +302,11 @@ evtchn_close(struct cdev *dev, int flag, int otyp, struct thread *td __unused)
{
int i;
- mtx_lock_spin(&lock);
if (ring != NULL) {
free(ring, M_DEVBUF);
ring = NULL;
}
+ mtx_lock_spin(&lock);
for ( i = 0; i < NR_EVENT_CHANNELS; i++ )
if ( synch_test_and_clear_bit(i, &bound_ports[0]) )
mask_evtchn(i);