On Tue, 19 Feb 2013, Felipe Balbi wrote: > On Tue, Feb 19, 2013 at 10:43:54AM -0500, Alan Stern wrote: > > On Tue, 19 Feb 2013, Felipe Balbi wrote: > > > > > 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 ? > > > > I think changing xhci-hcd will be enough. > > we will still see the warning since usbcore will continue to call > ->drop_endpoint() for disabled eps. But if xhci-hcd is fixed properly, it won't print out those warnings when drop_endpoint is called for eps that were disabled by a device reset. Alan Stern -- 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