Please use Reply-to-All so that your messages are sent to the mailing list as well as to me. And turn off HTML-formatted text so that the list server will accept the message. On Fri, 28 Oct 2011, Anton Alekseev wrote: > Hello. > > I've got ATI EHCI :( > > All logs are in attachments. > > I've also added logs from laptop with INTEL EHCI attachments (names > containing *INTEL*) where everything works just fine, as you wrote in last > message. You didn't have to send 12 different logs! All I asked for was the output from "lspci -n". Anyway, here's a patch which will activate the broken-periodic workaround on your ATI system. Let's see how well it works. Alan Stern Index: usb-3.1/drivers/usb/host/ehci-pci.c =================================================================== --- usb-3.1.orig/drivers/usb/host/ehci-pci.c +++ usb-3.1/drivers/usb/host/ehci-pci.c @@ -119,6 +119,18 @@ static int ehci_pci_setup(struct usb_hcd "dummy qh workaround\n"); } + /* + * Some controllers refuse to turn off the periodic schedule if it + * hasn't been on for long enough. The workaround simply delays until + * the schedule has been on for at least 1 ms. + */ + if ((pdev->vendor == PCI_VENDOR_ID_INTEL && pdev->device == 0x27cc) || + (pdev->vendor == PCI_VENDOR_ID_ATI && pdev->device == 0x4396)) { + ehci->broken_periodic = 1; + ehci_info(ehci, "using broken periodic workaround\n"); + } + + /* data structure init */ retval = ehci_init(hcd); if (retval) @@ -131,10 +143,6 @@ static int ehci_pci_setup(struct usb_hcd case PCI_VENDOR_ID_INTEL: ehci->need_io_watchdog = 0; ehci->fs_i_thresh = 1; - if (pdev->device == 0x27cc) { - ehci->broken_periodic = 1; - ehci_info(ehci, "using broken periodic workaround\n"); - } if (pdev->device == 0x0806 || pdev->device == 0x0811 || pdev->device == 0x0829) { ehci_info(ehci, "disable lpm for langwell/penwell\n"); -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html