Alan Stern wrote:
Unfortunately I'm not in a position to send in a fix for this right now.
Maybe the best thing will be to revert as305, as308b, as310, and as311 for
the time being (and obviously don't apply as312).
Hmm, sounds like that's not gonna be a quick fix. This should
solve the problem instead ... it builds, and looks obvious.
- Dave
Fix initialization sequencing bug added by recent hub driver
cleanups: TT was being initialized after first use.
Signed-off-by: David Brownell <[EMAIL PROTECTED]>
--- 1.110/drivers/usb/core/hub.c Mon Jun 7 10:08:06 2004
+++ edited/drivers/usb/core/hub.c Wed Jun 9 21:24:59 2004
@@ -1550,11 +1550,6 @@
goto loop;
}
- /* reset, get descriptor, add to hub's children */
- 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;
@@ -1564,6 +1559,11 @@
udev->tt = &hub->tt;
udev->ttport = port + 1;
}
+
+ /* reset, get descriptor, add to hub's children */
+ status = hub_port_init(hdev, udev, port);
+ if (status < 0)
+ goto loop;
/* consecutive bus-powered hubs aren't reliable; they can
* violate the voltage drop budget. if the new child has