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