Re: dwc3 gadget breaks on system suspend/resume

Roger Quadros
2017-01-27T13:55:24Z

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".