Hi, Roger Quadros <rogerq@xxxxxx> writes: >>>>>> 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@xxxxxxxxxxxxxxx> >> 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@xxxxxxxxxxxxxxx> >> >> Can you please try actual mainline and not some tree where you >> cherry-picked patches on top? ;-) >> > Sorry about the wrong commit ID. np > I reset my tree to 51f5d49ad6f011ee380b866ea617fd90584189a2 and can reproduce the issue. okay > The previous commit c499ff71ff2a281366c6ec7a904c547d806cbcd1 is fine. okay. Then let's try to figure out what's going on. A diff of regdump before and after suspend/resume might start to give some clue about what's going on. DWC3 tracepoints should help too. Care to get those? BTW, is this dwc3 as host or peripheral? -- balbi
Attachment:
signature.asc
Description: PGP signature