On Tue, 16 Sep 2014 15:29:20 -0400 Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > ... And now I see the problem. It's these two lines just before the > "switch": > > if (ehci->rh_state < EHCI_RH_RUNNING) > qh->qh_state = QH_STATE_IDLE; > > That undoubtedly caused us to destroy the QH directly without unlinking > it first. > > I'm pretty sure those two lines aren't needed any more. Try removing > them and see if the problem persists. Much better! Two machines running the same set of device removal tests are still running (kicked off ~5pm Tues). Typically the qh_destroy BUG would be hit within a few hours of testing. (I left the "BUG_ON(ehci->async->qh_next.qh == qh)" in ehci_endpoint_disable as an assertion. Obviously no hits on that either.) Thanks for the debug! -- Joe -- 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