Re: Help needed for EHCI problem: removing an active bulk-in QH

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

 



On Wed, 28 Oct 2015, Michael Reutman wrote:

> Alan: I ran the test again with your latest patch and collected the
> output of ehci async and dmesg. You should find their output attached
> to this email. Let me know if you need anything else.

A smoking gun!  Notice near the end of your dmesg log this line:

[ 1520.794032] ehci-pci 0000:00:16.2: qh ffff88032718ca80 should be inactive!

It appears just before the hang occurred and nowhere else.  That means 
my suspicion was correct.

The patch below is meant to apply on top of the previous patch.  It's a 
quick-and-dirty workaround which ought to prevent the problem from 
occurring.  Let's see if it does.

Alan Stern



Index: usb-4.3/drivers/usb/host/ehci-q.c
===================================================================
--- usb-4.3.orig/drivers/usb/host/ehci-q.c
+++ usb-4.3/drivers/usb/host/ehci-q.c
@@ -1341,8 +1341,11 @@ static void end_unlink_async(struct ehci
 	}
 
 	/* Otherwise process only the first waiting QH (NVIDIA bug?) */
-	else
+	else {
 		list_move_tail(&qh->unlink_node, &ehci->async_idle);
+		if (!list_empty(&qh->qtd_list))
+			udelay(2000);
+	}
 
 	/* Start a new IAA cycle if any QHs are waiting for it */
 	if (!list_empty(&ehci->async_unlink))

--
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