Date: Fri, 18 Jan 2008 21:45:42 GMT From: Hans Petter Selasky <hselasky@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 133600 for review Message-ID: <200801182145.m0ILjg57089423@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=133600 Change 133600 by hselasky@hselasky_laptop001 on 2008/01/18 21:44:55 Bugfix. Need to have "usb_mtx" locked when calling "usbd_transfer_unsetup_sub()". Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#108 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#108 (text+ko) ==== @@ -1018,6 +1018,12 @@ done: if (buf) { if (info->setup_refcount == 0) { + /* + * "usbd_transfer_unsetup_sub" will unlock + * "usb_mtx" before returning ! + */ + mtx_lock(info->usb_mtx); + /* something went wrong */ usbd_transfer_unsetup_sub(info, 0); } @@ -1058,6 +1064,8 @@ struct usbd_page_cache *pc; uint32_t temp; + mtx_assert(info->usb_mtx, MA_OWNED); + /* wait for any outstanding DMA operations */ if (needs_delay) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200801182145.m0ILjg57089423>