Re: ->drop_endpoint being called for disabled endpoints

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

 



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


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

  Powered by Linux