diff options
author | kmacy <kmacy@FreeBSD.org> | 2010-02-21 01:12:18 +0000 |
---|---|---|
committer | kmacy <kmacy@FreeBSD.org> | 2010-02-21 01:12:18 +0000 |
commit | d81496c5e49055c368d1d0352d3a68e578d6bdfe (patch) | |
tree | 6ce0feaa4fece8e3f93ae0c6e24070dd872b15db | |
parent | 94bf97c7588a321d5fc4e721619dfb03b037df64 (diff) | |
download | FreeBSD-src-d81496c5e49055c368d1d0352d3a68e578d6bdfe.zip FreeBSD-src-d81496c5e49055c368d1d0352d3a68e578d6bdfe.tar.gz |
don't hold spin lock across free
-rw-r--r-- | sys/xen/evtchn/evtchn_dev.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/xen/evtchn/evtchn_dev.c b/sys/xen/evtchn/evtchn_dev.c index 4253d8a..7e21d7a 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); |