Re: [RFC 7/9] xHCI 1.0: Endpoint Not Enabled Error

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

 



On Fri, May 06, 2011 at 02:05:50PM +0800, Alex He wrote:
> On Fri, 2011-05-06 at 04:42 +0800, Sarah Sharp wrote:
> > On Thu, May 05, 2011 at 06:14:09PM +0800, Andiry Xu wrote:
> > > From: Alex He <alex.he@xxxxxxx>
> > >
> > > This patch handles an Endpoint Not Enabled Error described in
> > section 4.7
> > > of the xHCI spec v1.0.
> > >
> > > Signed-off-by: Alex He <alex.he@xxxxxxx>
> > > Signed-off-by: Andiry Xu <andiry.xu@xxxxxxx>
> > > ---
> > >  drivers/usb/host/xhci-ring.c |    4 ++++
> > >  1 files changed, 4 insertions(+), 0 deletions(-)
> > >
> > > diff --git a/drivers/usb/host/xhci-ring.c
> > b/drivers/usb/host/xhci-ring.c
> > > index d0b8c85..85503c1 100644
> > > --- a/drivers/usb/host/xhci-ring.c
> > > +++ b/drivers/usb/host/xhci-ring.c
> > > @@ -2052,6 +2052,10 @@ static int handle_tx_event(struct xhci_hcd
> > *xhci,
> > >       case COMP_BUFF_OVER:
> > >               xhci_warn(xhci, "WARN: buffer overrun event on
> > endpoint\n");
> > >               break;
> > > +     case COMP_EBADEP:
> > > +             xhci_warn(xhci, "WARN: rung the doorbell owned by the
> > endpoint\
> > > +                             or the Device Slot in the Disabled
> > state\n");
> > > +             goto cleanup;
> > 
> > Ok, I had trouble parsing that sentence, and it's long.  How about
> > just
> > "WARN: Doorbell rung for disabled slot or endpoint"?
> 
> Yes. The long sentence is ugly.
> 
> > Also, have you ever seen this error code appear?  Because software
> > shouldn't be ringing doorbells for endpoints that are disabled, and
> > that
> > code would indicate a deeper issue.
> 
> No, I haven't seen this error code. The xhci_ring_ep_doorbell() has
> some condition limit for the endpoint. Shall we add the condition to
> limit the disable slot that we can throw away this patch?

I would say do both.  Add the condition check in
xhci_ring_ep_doorbell(), but also handle the error code in
handle_tx_event().  I don't think there's any race conditions in the
code that sets the endpoint state and the event handler, but I'd like to
leave this warning in just in case they crop up later.

Sarah Sharp
--
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