On Thu, 7 Mar 2013, Paul Zimmerman wrote:

> Hi Alan,
> 
> I was talking about uhci_hcd_endpoint_disable(). It drops the spinlock,
> reacquires it, but doesn't reload qh from hep->hcpriv before continuing.
> Maybe that's not required for uhci, I didn't look any deeper.

No, it's not required.  hep->hcpriv doesn't matter once we have used it 
to find the correct qh.

> Actually, I see now I misread ohci_endpoint_disable(), it doesn't reload
> from ep->hcpriv either, only ehci_endpoint_disable() does.

That's right.  I suppose we might get into trouble if any one of the 
*_endpoint_disable() routines was called concurrently in different 
threads for the same endpoint.  Fortunately usbcore is smart enough not 
to do that.

Alan Stern

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