From c9a425bae33a74ad3ee8de02dc2981bd934b5b5e Mon Sep 17 00:00:00 2001 From: Kip Macy Date: Sun, 21 Feb 2010 01:12:18 +0000 Subject: [PATCH] don't hold spin lock across free --- sys/xen/evtchn/evtchn_dev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/xen/evtchn/evtchn_dev.c b/sys/xen/evtchn/evtchn_dev.c index 4253d8a1700..7e21d7a07be 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);