aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/usb/controller
diff options
context:
space:
mode:
authorHans Petter Selasky <hselasky@FreeBSD.org>2014-06-11 06:45:52 +0000
committerHans Petter Selasky <hselasky@FreeBSD.org>2014-06-11 06:45:52 +0000
commitc7281741a6aeef5d1ce41adf3226182c59cd3c99 (patch)
treef491b811c53d98d6594d5c5d452905136869ca57 /sys/dev/usb/controller
parentaeaff16869e335964425062e7373ccdd5c36d397 (diff)
Notes
Diffstat (limited to 'sys/dev/usb/controller')
-rw-r--r--sys/dev/usb/controller/usb_controller.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/dev/usb/controller/usb_controller.c b/sys/dev/usb/controller/usb_controller.c
index a624fc9ee485..095c045fd292 100644
--- a/sys/dev/usb/controller/usb_controller.c
+++ b/sys/dev/usb/controller/usb_controller.c
@@ -348,7 +348,13 @@ usb_bus_explore(struct usb_proc_msg *pm)
if (bus->no_explore != 0)
return;
- if (udev && udev->hub) {
+ if (udev != NULL) {
+ USB_BUS_UNLOCK(bus);
+ uhub_explore_handle_re_enumerate(udev);
+ USB_BUS_LOCK(bus);
+ }
+
+ if (udev != NULL && udev->hub != NULL) {
if (bus->do_probe) {
bus->do_probe = 0;