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