Re: ->drop_endpoint being called for disabled endpoints

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

 



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.

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