Tue, 08 Nov 2005 @ 11:45 -0500, Charles Shannon Hendrix said:

> OK.  You want this:
> 
>       retval = hub_port_reset(hub, port1, udev, delay);
> +       msleep(500);
>       if (retval < 0)
>       ...
> 
> I'll get to that later tonight or tomorrow and post any results.

Regarding a pause after hub_port_reset() to allow a device some time to
get ready, I applied the following patch suggested by Alan Stern:

--- drivers/usb/core/hub.c.orig 2005-10-27 20:02:08.000000000 -0400
+++ drivers/usb/core/hub.c      2005-11-08 17:49:56.000000000 -0500
@@ -2189,6 +2189,7 @@ hub_port_init (struct usb_hub *hub, stru
 
        /* Reset the device; full speed may morph to high speed */
        retval = hub_port_reset(hub, port1, udev, delay);
+       msleep(1000);
        if (retval < 0)         /* error or disconnect */
                goto fail;
                                /* success, speed is known */

This makes my iPod work with USB2 on Linux 2.6.14 (vanilla).

My USB2 flash drive still doesn't work, but I'm thinking it never even
gets this far in the code from the debug output. At least, my kernel
debug messages never showed up when it was plugged in anyway.

Note: I have not yet tried this more than half dozen times, but so far
it has worked every time.



-- 
shannon "AT" widomaker.com -- [There is a limit to how stupid people really
are -- just as there's a limit to the amount of hydrogen in the Universe. 
There's a lot, but there's a limit.  -- Dave C. Barber on a.f.c.  ]


-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to