Ok,
Thanks to those of you who helped I've got a patch here which initializes
USB devices earlier in the booting process (e.g. as soon as the hub they are
on is done with hub_configure). It works great for me, loading / over NFS
with a Linksys NIC, and may also help anybody booting off a USB hard
disk/zip drive/etc.
BTW! This patch is against -pre5. It should be fairly obvious, though.
If there's a "Better" way to do this, please let me know. Till then, it
works for me!
Thanks,
Ben
--- hub.c Tue Apr 11 11:57:43 2000
+++ hub.c.new Thu Apr 27 12:08:32 2000
@@ -112,6 +112,8 @@
for (i = 0; i < hub->nports; i++)
usb_set_port_feature(hub->dev, i + 1, USB_PORT_FEAT_POWER);
}
+
+static void usb_hub_port_connect_change(struct usb_device *hub, int port) ;
static int usb_hub_configure(struct usb_hub *hub)
{
@@ -193,6 +195,17 @@
(le16_to_cpu(hubsts->wHubStatus) & HUB_STATUS_OVERCURRENT) ?
"" : "no ");
usb_hub_power_on(hub);
+
+ /*4/27/2000, Ben Von Handorf, [EMAIL PROTECTED] */
+ /*Do a connect_change on each port to try and detect devices */
+ /*as soon as possible. Required for things like booting */
+ /*over NFS using a USB NIC and possibly booting of a USB disk */
+ for( i = 0 ; i <hub->nports ; i++ )
+ {
+ dbg("Trying detection on port %d", i ) ;
+
+ usb_hub_port_connect_change( hub->dev, i ) ;
+ }
return 0;
}
--
Ben Von Handorf
[EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]