PERFORCE change 103118 for review
Hans Petter Selasky
hselasky at FreeBSD.org
Thu Aug 3 15:01:00 UTC 2006
http://perforce.freebsd.org/chv.cgi?CH=103118
Change 103118 by hselasky at hselasky_mini_itx on 2006/08/03 15:00:54
Allow mutex passed to usbd_do_request_flags_mtx(), to be recursed.
Affected files ...
.. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#13 edit
Differences ...
==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#13 (text+ko) ====
@@ -1199,6 +1199,7 @@
struct usbd_config usbd_config[1] = { /* zero */ };
struct usbd_xfer *xfer = NULL;
u_int16_t length = UGETW(req->wLength);
+ u_int32_t level = 0;
usbd_status err;
usbd_config[0].type = UE_CONTROL;
@@ -1210,9 +1211,8 @@
usbd_config[0].callback = &usbd_default_callback;
if (mtx) {
- mtx_assert(mtx, MA_OWNED);
+ level = mtx_drop_recurse(mtx);
mtx_unlock(mtx);
- mtx_assert(mtx, MA_NOTOWNED);
}
/* setup transfer */
@@ -1221,6 +1221,7 @@
if (mtx) {
mtx_lock(mtx);
+ mtx_pickup_recurse(mtx, level);
}
if(err)
More information about the p4-projects
mailing list