Re: High speed devices with kernel 2.6.21.5.

Alan Stern <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
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/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.