RE: [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD register fails

Subbaraya Sundeep Bhatta
2015-07-15T10:04:11Z

Hi John,

> -----Original Message-----
> From: Felipe Balbi [mailto:balbi@ti.com]
> Sent: Tuesday, July 14, 2015 12:29 AM
> To: John Youn
> Cc: balbi@ti.com; Subbaraya Sundeep Bhatta; gregkh@linuxfoundation.org;
> linux-usb@vger.kernel.org; linux-kernel@vger.kernel.org;
> stable@vger.kernel.org
> Subject: Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if command
> sent to DEPCMD register fails
>
> Hi,
>
> On Mon, Jul 13, 2015 at 05:50:49PM +0000, John Youn wrote:
> > On 7/11/2015 12:29 PM, Felipe Balbi wrote:
> > > Hi,
> > >
> > > On Sat, Jul 11, 2015 at 05:17:32PM +0000, Subbaraya Sundeep Bhatta
> wrote:
> > >>>>>> Hi Felipe,
> > >>>>>>
> > >>>>>> Just an update on this.
> > >>>>>>
> > >>>>>> I'm trying to get this working with our latest IP with dwc3
> > >>>>>> from your testing/next branch. It fails the usbtest with a
> > >>>>>> problem unrelated to this patch.
> > >>>>>> .
> > >>>>>> It passes on 4.1.1.
> > >>>>>>
> > >>>>>> I'll have to look into the failure but I won't get to it until
> > >>>>>> next week as I'm off the rest of this week.
> > >>>>>
> > >>>>> interesting... If you could post failure signature, I can help
> > >>>>> looking at it, but I guess it's too late to ask :-)
> > >>>>>
> > >>>>> thanks for helping though
> > >>>>>
> > >>>>
> > >>>>
> > >>>> Hi Felipe,
> > >>>>
> > >>>> Nevermind about my issue, it ended up being a setup-related
> problem.
> > >>>>
> > >>>> I actually do see the same error as you due to this series of patches.
> > >>>> Except I see it happening before even the first iteration. I get
> > >>>> a completion status of 1 for the Set Endpoint Transfer Resources
> > >>>> command. I'm not sure why this is.
> > >>>>
> > >>>> I don't see any conflict with any previous Transfer Complete.
> > >>
> > >> Same behavior at my end too. Fails before first iteration and I get
> > >> completion status of 1 for Set Endpoint Resource command. Attached
> > >> the logs of testing done with this patch and without this patch.
> > >> Without this patch I often see completion status of 1 for Set
> > >> Endpoint Transfer Resources command for Bulk and Isoc endpoints but
> > >> test proceeds because driver just logs command completion status
> > >> and moves on. We can revert this patch for time being. IP version is
> 2.90a.
> > >
> > > yeah, that's what I mean, it really seems like it's the IP misbehaving.
> > >
> > > John, let's try to figure out what's the root cause of this, we
> > > really want to use command completion status at some point, but for
> > > now we need to revert the patch :-(
> > >
> > > Let me know if you want me to log STARS ticket on your solvnet system.
> > >
> > > cheers
> > >
> >
> > Hi Felipe,
> >
> > We found the issue last week.
> >
> > The start config command isn't getting called during SET_INTERFACE.
> > Thus the transfer resource index isn't getting reset, and with
> > multiple SET_INTERFACE commands it will eventually exhaust the
> > resources.
> >
> > I tried out a fix and it works for me. I'll send it out separately for
> > review.

Thanks John for debugging :). Yes we are not handling SET_INTERFACE similar to
SET_CONFIGURATION in driver. I guess we follow
"Alternate Initialization on SetInterface Request" sequence as per data book.
Felipe can confirm this.

>
> Thanks a lot John. Not sure how come we missed that for such a long time
> :-) Let's Cc stable and get it plugged ASAP :-)
>
> > Also, I noticed that the trace message that shows control transfers
> > doesn't show the SET_INTERFACE properly. Any idea why this is?
> >
> > For example, here is the line in the trace that corresponds to the
> > SET_INTERFACE:
> > irq/33-dwc3-10808 [003] d... 2443.494368: dwc3_ctrl_req:
> bRequestType
> > 01 bRequest 0b wValue 0001 wIndex 0000 wLength 0

Can you please elaborate? What is expected here? Did you mean it shows wrong info
(other than the request actually sent by Host) ?

Thanks,
Sundeep.B.S.

>
> I'll have a look at this when I'm back in the office (Jul 18th).
>
> --
> balbi