Hi, On Mon, Feb 18, 2013 at 05:20:44PM -0500, Alan Stern wrote: > On Fri, 15 Feb 2013, Felipe Balbi wrote: > > > Hi all, > > > > I keep seeing the following messages when transferring data to any USB3 > > mass storage I have (tried 3 different ones already): > > > > [618002.014556] xhci_hcd 0000:03:00.0: xHCI xhci_drop_endpoint called with disabled ep ffff88012976cd40 > > [618002.014562] xhci_hcd 0000:03:00.0: xHCI xhci_drop_endpoint called with disabled ep ffff88012976cd80 > > > > It looks like usbcore is calling ->drop_endpoint() for endpoints which > > are already disabled. I wonder if that's something legal to do or if we > > want to protect calls to ->drop_endpoint() with if (ep->enabled) check. > > There was a thread on this topic a couple of weeks ago: > > http://marc.info/?t=135874092500002&r=1&w=2 > > Device resets cause the hardware to disable the endpoint rings, but > apparently xhci-hcd doesn't take this into account. Hence it ends up > trying to drop endpoints which are already disabled, causing those > error messages. > > > I'll add a WARN_ONCE() later just to check who's to blame here, but it's > > a pretty annoying message to see all the time. :-) > > > > How about something like below ? > > No, I think this needs to be fixed in xhci-hcd. fair enough, though I think the issue is two-fold: a) on reset xhci-hcd should set ep->enabled to zero b) patch I sent should still be applied no ? -- balbi
Attachment:
signature.asc
Description: Digital signature