On Sat, 29 Oct 2011, Anton Alekseev wrote: > Hi. I've applied your patch to ehci-pci.c and results are the same. > Can you advise me what to check next? This patch increases the delay time to 2 ms and adds some debugging log entries. Be sure that CONFIG_PRINTK_TIME is turned on, and post the dmesg from your test with both patches applied. Alan Stern Index: usb-3.1/drivers/usb/host/ehci-sched.c =================================================================== --- usb-3.1.orig/drivers/usb/host/ehci-sched.c +++ usb-3.1/drivers/usb/host/ehci-sched.c @@ -492,6 +492,7 @@ static int enable_periodic (struct ehci_ */ status = handshake_on_error_set_halt(ehci, &ehci->regs->status, STS_PSS, 0, 9 * 125); +ehci_info(ehci, "enable periodic %d\n", status); if (status) { usb_hc_died(ehci_to_hcd(ehci)); return status; @@ -517,9 +518,10 @@ static int disable_periodic (struct ehci if (--ehci->periodic_sched) return 0; +ehci_info(ehci, "start disable periodic\n"); if (unlikely(ehci->broken_periodic)) { /* delay experimentally determined */ - ktime_t safe = ktime_add_us(ehci->last_periodic_enable, 1000); + ktime_t safe = ktime_add_us(ehci->last_periodic_enable, 2000); ktime_t now = ktime_get_real(); s64 delay = ktime_us_delta(safe, now); @@ -532,6 +534,7 @@ static int disable_periodic (struct ehci */ status = handshake_on_error_set_halt(ehci, &ehci->regs->status, STS_PSS, STS_PSS, 9 * 125); +ehci_info(ehci, "disable periodic %d\n", status); if (status) { usb_hc_died(ehci_to_hcd(ehci)); return status; -- 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