On Tue, 16 Sep 2014 15:29:20 -0400
Alan Stern <st...@rowland.harvard.edu> 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to