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

From: Felipe Balbi
Date: Mon Apr 27 2015 - 11:53:34 EST


On Mon, Apr 27, 2015 at 07:55:58AM -0700, David Cohen wrote:
> On Sat, Apr 25, 2015 at 10:47:42AM -0500, Felipe Balbi wrote:
> > Hi,
>
> Hi Felipe,
>
> >
> > 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 :-)
>
> Thanks for the reply.
> The gadget having this issue is really out-of-tree (android gadget).
> I could do 2 next steps:
> 1) I could drop android gadget and try to reproduce this issue using
> legacy g_ffs, which supports adbd as well.
> 2) I could propose this change directly on google's android 3.14 tree
> instead.
>
> Would you prefer one of those?

hehe, I'll let Greg decide, I'm not against the patch, as I said before,
but I'm also not entirely sure it fits within stable rules ;-)

cheers

--
balbi

Attachment: signature.asc
Description: Digital signature