Re: dwc3 gadget breaks on system suspend/resume

Roger Quadros
2017-01-27T14:46:43Z

On 27/01/17 16:17, Felipe Balbi wrote:
>
> Hi,
>
> Roger Quadros <rogerq-l0cyMroinI0@public.gmane.org> writes:
>
>> Felipe,
>>
>> On 19/01/17 14:16, Roger Quadros wrote:
>>> On 19/01/17 13:59, Felipe Balbi wrote:
>>>>
>>>> Hi,
>>>>
>>>> Roger Quadros <rogerq-l0cyMroinI0@public.gmane.org> writes:
>>>>> Hi Felipe,
>>>>>
>>>>> We have system suspend resume working on dra7-evm in v4.10-rc but
>>>>> dwc3 gadget breaks after system suspend resume.
>>>>>
>>>>> Any hints how to fix it? Full backtrace below.
>>>>
>>>> from a quick look. END_TRANSFER is timing out, most likely. Tracepoints
>>>> should give better hints.
>>>>
>>>> We might have a bug in dwc3_gadget_suspend(). No idea what's really
>>>> going on.
>>>>
>>>>> Another message that looks worry-some is
>>>>> "[ 61.495313] omap-dwc3 48880000.omap_dwc3_1: runtime PM trying to suspend device but active child"
>>>>
>>>> did you implement runtime PM on dwc3-omap.c? Look at dwc3-pci.c for reference.
>>>>
>>>>> If I unload gadget, then suspend/resume system then load gadget everything works fine.
>>>>
>>>> right, dwc3 UDC will already have been toredown. Unfortunately I can't
>>>> spend a lot of time on this, so you're gonna have to try to fix it and
>>>> provide a patch :-s Quite busy looking at some f_fs weirdness.
>>>
>>> No problem. I'll debug this issue.
>>
>> Bisected to bad commit 4eb3d981e7344ded9e5a8725ed934dd8f8056daf "usb: dwc3: core: simplify suspend/resume operations".
>
> $ git show 4eb3d981e7344ded9e5a8725ed934dd8f8056daf
> fatal: bad object 4eb3d981e7344ded9e5a8725ed934dd8f8056daf
>
> That commit to me is:
>
> commit 51f5d49ad6f011ee380b866ea617fd90584189a2
> Author: Felipe Balbi <felipe.balbi-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
> Date: Mon May 16 10:52:58 2016 +0300
>
> usb: dwc3: core: simplify suspend/resume operations
>
> now that we have re-factored dwc3_core_init() and
> dwc3_core_exit() we can use them for suspend/resume
> operations.
>
> This will help us avoid some common mistakes when
> patching code when we have duplicated pieces of code
> doing the same thing.
>
> Signed-off-by: Felipe Balbi <felipe.balbi-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
>
> Can you please try actual mainline and not some tree where you
> cherry-picked patches on top? ;-)
>
Sorry about the wrong commit ID.
I reset my tree to 51f5d49ad6f011ee380b866ea617fd90584189a2 and can reproduce the issue.
The previous commit c499ff71ff2a281366c6ec7a904c547d806cbcd1 is fine.