summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2008-05-20 12:34:30 +0000
committerpjd <pjd@FreeBSD.org>2008-05-20 12:34:30 +0000
commit2f427637e0af90ccec0c813c87cd3ae5404cedc3 (patch)
tree6fe9ddd94f9ba66734408b38ed669310eee31669 /sys
parent3a3e7da2d391c066ec7534c92496ccfa82ba849e (diff)
downloadFreeBSD-src-2f427637e0af90ccec0c813c87cd3ae5404cedc3.zip
FreeBSD-src-2f427637e0af90ccec0c813c87cd3ae5404cedc3.tar.gz
Drop Giant before calling kproc_exit(), so we don't trigger assertion in
kproc_exit(). Discussed with: imp
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/usb/usb.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/dev/usb/usb.c b/sys/dev/usb/usb.c
index 6f92c77..0cbf6bd 100644
--- a/sys/dev/usb/usb.c
+++ b/sys/dev/usb/usb.c
@@ -453,6 +453,8 @@ usb_event_thread(void *arg)
wakeup(sc);
DPRINTF(("usb_event_thread: exit\n"));
+ while (mtx_owned(&Giant))
+ mtx_unlock(&Giant);
kproc_exit(0);
}
@@ -490,6 +492,8 @@ usb_task_thread(void *arg)
wakeup(&taskq->taskcreated);
DPRINTF(("usb_event_thread: exit\n"));
+ while (mtx_owned(&Giant))
+ mtx_unlock(&Giant);
kproc_exit(0);
}
OpenPOWER on IntegriCloud