On Sun, 13 Jun 2004, Nicolas Mailhot wrote:
> This one seems to work nicely.
> Do you consider it the final fix or just a quick bandaid ?
This is the final fix. I'll mark your Bugzilla entry Resolved.
Greg, This patch repairs a bug introduced by an earlier patch: The TT
initialization code was moved to _after_ the TT's first use. The patch
simply puts the code back the way it used to be.
Please apply.
Alan Stern
Signed-off-by: Alan Stern <[EMAIL PROTECTED]>
===== 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