On Mon, 16 Jul 2007, Branden Sletteland wrote:

> I was able to get my usb storage devices to be recognized as High
> speed devices by commenting out these lines in ehci-hcd.c in a
> 2.6.21.5 kernel:
> 
> in function ehci_run:
>       hcd->uses_new_polling = 1;
> in function ehci_irq:
>       if (pcd_status & STS_PCD)
>           usb_hcd_poll_rh_status(hcd);
> 
> Any ideas why?

Not a clue.

Do you have CONFIG_USB_SUSPEND enabled?  If you do, I would expect that
commenting out those lines in ehci_irq would prevent your controller
from recognizing new devices plugged into a high-speed hub.

Perhaps changing these lines in ehci_hub_control() will work better:

                                /*
                                 * caller must wait, then call GetPortStatus
                                 * usb 2.0 spec says 50 ms resets on root
                                 */
                                ehci->reset_done [wIndex] = jiffies
                                                + msecs_to_jiffies (50);

Increase the 50 to something like 80 or 100.

As another possibility, you could try putting everything back to its
original state and applying the patch below.

Alan Stern


Index: usb-2.6/drivers/usb/host/ehci-hcd.c
===================================================================
--- usb-2.6.orig/drivers/usb/host/ehci-hcd.c
+++ usb-2.6/drivers/usb/host/ehci-hcd.c
@@ -720,8 +720,10 @@ static irqreturn_t ehci_irq (struct usb_
                pcd_status = status;
 
                /* resume root hub? */
-               if (!(ehci_readl(ehci, &ehci->regs->command) & CMD_RUN))
+               if (!(ehci_readl(ehci, &ehci->regs->command) & CMD_RUN)) {
                        usb_hcd_resume_root_hub(hcd);
+                       pcd_status = 0;
+               }
 
                while (i--) {
                        int pstatus = ehci_readl(ehci,


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
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