Re: [PATCH] usb: dwc3: gadget: call gadget driver's ->suspend/->resume

From: Felipe Balbi
Date: Sat Apr 25 2015 - 11:49:26 EST


Hi,

On Fri, Apr 24, 2015 at 01:56:25PM -0700, David Cohen wrote:
> > > > > When going into bus suspend/resume we _must_
> > > > > call gadget driver's ->suspend/->resume callbacks
> > > > > accordingly. This patch implements that very feature
> > > > > which has been missing forever.
> > > > >
> > > > > Cc: <stable@xxxxxxxxxxxxxxx> # 3.14
> > > > > Signed-off-by: Felipe Balbi <balbi@xxxxxx>
> > > > > Signed-off-by: David Cohen <david.a.cohen@xxxxxxxxxxxxxxx>
> > > > > ---
> > > > >
> > > > > Hi,
> > > > >
> > > > > This patch was introduced on v3.15.
> > > > > But the issue it fixes already existed on v3.14 and v3.14 is a long term
> > > > > support version.
> > > >
> > > > Can you show me a log of this breaking anywhere ? Why do you consider
> > > > this a bug fix ? What sort of drawbacks did you notice ?
> > >
> > > We're seeing BC1.2 compliance test failure. I borrowed this info from
> > > the bug report :)
> > >
> > > 1. BC1.2 compliance testing - SDP2.0
> > > -----------------------------------------------
> > > 1. On Connect to active Host (Expected result: 100mA to 500mA):
> > > Actual result 100mA to 500mA
> > >
> > > 2. On Host Suspend (ER: Fall back to 0mA):
> > > not falling back to 0mA, remains at 500mA
> > >
> > > 3. On Connect to Suspended Host (ER: 100mA to 0mA):
> > > cable-props shown as 100mA, which means drawing a current of 100mA from
> > > Suspended Host
> > >
> > > 4. On making Host active (ER: 500mA):
> > > 500mA
> >
> > But we don't support Battery Charging with dwc3 as of now :-) In fact,
> > just note that none of the BC registers are even defined in the current
> > driver anywhere. Seems like you should cherry-pick these to your vendor
> > tree, but v3.14 vanilla, because it doesn't support BC1.2, can't be
> > claimed to be at fault, right ?
>
> We could call it a missing feature that could lead to a potential bug :)
> By your own comment, he "must" was stressed out:

sure it was because they really must be called :-) However, the only
actual problem that arises from not calling them is with something
that's not supported :-)

> When going into bus suspend/resume we _must_
> call gadget driver's ->suspend/->resume callbacks
> accordingly. This patch implements that very feature
> which has been missing forever.
> '''
>
> Since v3.14 is a LTS kernel and the changes are safe, it's worth to
> consider.

definitely worth to consider, but not as something that fixes BC1.2
because that's, as said, not supported in any public tree :-)

> > I'll leave the final decision to Greg and I don't really oppose having
> > both patches on v3.14-stable, but this is not a bug fix in my view.
>
> Thanks. I appreciate your feedback.
>
> BR, David
>
> PS: FWIW implementing features or fixing bugs aren't much different tasks:
> https://geekwhisperin.files.wordpress.com/2009/09/bug-vs-feature.jpg

Yes, I used to have that on my office door ;-)

--
balbi

Attachment: signature.asc
Description: Digital signature