On Thu, 10 Jun 2004, Nicolas Mailhot wrote:
> Well, this fixes the oops all right.
> Unfortunately, this does not fix the functionality - the usb devices are
> still dead on bootup.
Try out this patch instead. It puts the TT initialization back the way it
used to be before I changed it.
Alan Stern
===== drivers/usb/core/hub.c 1.169 vs edited =====
--- 1.169/drivers/usb/core/hub.c Wed Jun 9 10:16:54 2004
+++ edited/drivers/usb/core/hub.c Sun Jun 13 14:11:31 2004
@@ -1405,6 +1405,19 @@
default: speed = "?"; break;
}; speed;}),
udev->devnum);
+
+ /* Set up TT records, if needed */
+ if (hdev->tt) {
+ udev->tt = hdev->tt;
+ udev->ttport = hdev->ttport;
+ } else if (udev->speed != USB_SPEED_HIGH
+ && hdev->speed == USB_SPEED_HIGH) {
+ struct usb_hub *hub;
+
+ hub = usb_get_intfdata(hdev->actconfig->interface[0]);
+ udev->tt = &hub->tt;
+ udev->ttport = port + 1;
+ }
/* Why interleave GET_DESCRIPTOR and SET_ADDRESS this way?
* Because device hardware and firmware is sometimes buggy in
@@ -1614,16 +1627,6 @@
status = hub_port_init(hdev, udev, port);
if (status < 0)
goto loop;
-
- /* Set up TT records, if needed */
- if (hdev->tt) {
- udev->tt = hdev->tt;
- udev->ttport = hdev->ttport;
- } else if (udev->speed != USB_SPEED_HIGH
- && hdev->speed == USB_SPEED_HIGH) {
- udev->tt = &hub->tt;
- udev->ttport = port + 1;
- }
/* consecutive bus-powered hubs aren't reliable; they can
* violate the voltage drop budget. if the new child has
-------------------------------------------------------
This SF.Net email is sponsored by the new InstallShield X.
>From Windows to Linux, servers to mobile, InstallShield X is the
one installation-authoring solution that does it all. Learn more and
evaluate today! http://www.installshield.com/Dev2Dev/0504
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel