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

Reply via email to