PERFORCE change 181773 for review

Hans Petter Selasky hselasky at FreeBSD.org
Tue Aug 3 15:45:41 UTC 2010


http://p4web.freebsd.org/@@181773?ac=10

Change 181773 by hselasky at hselasky_laptop001 on 2010/08/03 15:45:30

	USB core:
		- allow the USB controller to select another USB
		address during the SET_ADDRESS request.

Affected files ...

.. //depot/projects/usb/src/sys/dev/usb/usb_request.c#37 edit

Differences ...

==== //depot/projects/usb/src/sys/dev/usb/usb_request.c#37 (text+ko) ====

@@ -1776,8 +1776,12 @@
 		DPRINTFN(0, "addr=%d, set address failed! (%s, ignored)\n",
 		    old_addr, usbd_errstr(err));
 	}
-	/* restore device address */
-	udev->address = old_addr;
+	/*
+	 * Restore device address, if the controller driver did not
+	 * set a new one:
+	 */
+	if (udev->address == USB_START_ADDR)
+		udev->address = old_addr;
 
 	/* allow device time to set new address */
 	usb_pause_mtx(mtx, USB_MS_TO_TICKS(USB_SET_ADDRESS_SETTLE));
@@ -1809,7 +1813,8 @@
 		goto retry;
 	}
 	/* restore address */
-	udev->address = old_addr;
+	if (udev->address == USB_START_ADDR)
+		udev->address = old_addr;
 	return (err);
 }
 


More information about the p4-projects mailing list