summaryrefslogtreecommitdiff
path: root/sys/dev/usb/usb.c
diff options
context:
space:
mode:
authorIan Dowse <iedowse@FreeBSD.org>2005-03-27 15:31:23 +0000
committerIan Dowse <iedowse@FreeBSD.org>2005-03-27 15:31:23 +0000
commit61c43c6d8dc2157e4fdf07551a022fe39f18921d (patch)
tree1d8d5464c317b343675ad8b93b7c7e55c9698b81 /sys/dev/usb/usb.c
parent0fcbbd7beaeac8c7ed613ed7c766c6ec5eee15ec (diff)
Notes
Diffstat (limited to 'sys/dev/usb/usb.c')
-rw-r--r--sys/dev/usb/usb.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/sys/dev/usb/usb.c b/sys/dev/usb/usb.c
index d499d63ce96c..6be1d33a8636 100644
--- a/sys/dev/usb/usb.c
+++ b/sys/dev/usb/usb.c
@@ -301,8 +301,14 @@ USB_ATTACH(usb)
* the keyboard will not work until after cold boot.
*/
#if defined(__FreeBSD__)
- if (cold)
- TAILQ_INSERT_TAIL(&usb_coldexplist, sc, sc_coldexplist);
+ if (cold) {
+ /* Explore high-speed busses before others. */
+ if (speed == USB_SPEED_HIGH)
+ dev->hub->explore(sc->sc_bus->root_hub);
+ else
+ TAILQ_INSERT_TAIL(&usb_coldexplist, sc,
+ sc_coldexplist);
+ }
#else
if (cold && (sc->sc_dev.dv_cfdata->cf_flags & 1))
dev->hub->explore(sc->sc_bus->root_hub);
@@ -952,7 +958,7 @@ usb_child_detached(device_t self, device_t child)
sc->sc_port.device = NULL;
}
-/* Explore all USB busses at the end of device configuration. */
+/* Explore USB busses at the end of device configuration. */
Static void
usb_cold_explore(void *arg)
{