Re: ->drop_endpoint being called for disabled endpoints

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux