aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/usb
diff options
context:
space:
mode:
authorHans Petter Selasky <hselasky@FreeBSD.org>2012-02-08 22:27:07 +0000
committerHans Petter Selasky <hselasky@FreeBSD.org>2012-02-08 22:27:07 +0000
commit2dffc9722b68355ca48d6abc6183f62f4bdf0239 (patch)
tree18c856d05964f9febaeb7b3d31a8762775b6eca7 /sys/dev/usb
parent9dbe62065ea378db28547589b5e7bf1858d26d87 (diff)
Notes
Diffstat (limited to 'sys/dev/usb')
-rw-r--r--sys/dev/usb/controller/usb_controller.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/dev/usb/controller/usb_controller.c b/sys/dev/usb/controller/usb_controller.c
index d5303a5dc0d9..e50c4eb67c74 100644
--- a/sys/dev/usb/controller/usb_controller.c
+++ b/sys/dev/usb/controller/usb_controller.c
@@ -472,10 +472,18 @@ usb_bus_resume(struct usb_proc_msg *pm)
if (bus->methods->set_hw_power != NULL)
(bus->methods->set_hw_power) (bus);
+ /* restore USB configuration to index 0 */
err = usbd_set_config_index(udev, 0);
if (err)
device_printf(bus->bdev, "Could not configure root HUB\n");
+ /* probe and attach */
+ err = usb_probe_and_attach(udev, USB_IFACE_INDEX_ANY);
+ if (err) {
+ device_printf(bus->bdev, "Could not probe and "
+ "attach root HUB\n");
+ }
+
usbd_enum_unlock(udev);
USB_BUS_LOCK(bus);