From d81496c5e49055c368d1d0352d3a68e578d6bdfe Mon Sep 17 00:00:00 2001 From: kmacy Date: Sun, 21 Feb 2010 01:12:18 +0000 Subject: don't hold spin lock across free --- sys/xen/evtchn/evtchn_dev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sys/xen/evtchn') 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); -- cgit v1.1