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