Re: Fwd: EHCI driver problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux