diff options
author | Kip Macy <kmacy@FreeBSD.org> | 2010-02-21 01:12:18 +0000 |
---|---|---|
committer | Kip Macy <kmacy@FreeBSD.org> | 2010-02-21 01:12:18 +0000 |
commit | c9a425bae33a74ad3ee8de02dc2981bd934b5b5e (patch) | |
tree | 6ce0feaa4fece8e3f93ae0c6e24070dd872b15db /sys/xen/evtchn | |
parent | 227ca25786543ae1e760d0a50f77ae489a228a61 (diff) | |
download | src-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.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 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); |