Skip site navigation (1)Skip section navigation (2)
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>