[lkml]   [2019]   [Dec]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subjectsuspend problem with dwc3 gadget / g_multi when usb disconnected

I'm running today's linux-next with this defconfig on a librem 5 devkit:

So I want to have host and gadget mode (G_MULTI, most importantly a
serial ACM console), and I'm having trouble with S3 suspend:

* The most interesting case here: When I boot with USB disconnected
(from the battery) I can't suspend or unload dwc3. After "echo mem >
/sys/power/state" I get nothing in the my logs except

[ 18.107380] PM: suspend entry (deep)

and the system hangs. similarly, I can't work around this by rmmod -f
dwc3. What can go wrong here? I don't know enough about usb hci and why
this shouldn't work. What can I do to help you here?

* When I boot with USB connected, then unplug USB, I get:

[ 19.289602] dwc3 38100000.usb: request 000000006a19695c was not
queued to ep3in

and then try to suspend:

root@pureos:/home/purism# echo mem > /sys/power/state
[ 37.863066] xhci-hcd xHCI host controller not
responding, assume dead
[ 37.871345] xhci-hcd HC died; cleaning up
[ 37.877260] PM: dpm_run_callback(): platform_pm_suspend+0x0/0x78
returns -22
[ 37.884626] PM: Device failed to suspend async: error -22
[ 37.891728] PM: Some devices failed to suspend, or early wake event
bash: echo: write error: Invalid argument

* When I keep USB connected, the behaviour is similar actually, but
rmmod works (but that use-case is not that interesting to me).

Since my experience with USB drivers is limited, I'm glad to hear about
any of your experience with dwc3- or more general gadget-problems with
suspend and that or a similar configuration.

Without G_MULTI and dwc3 host-only, suspend works btw. And all the above
is basically identical on previous stable kernels too.

thanks so far,


 \ /
  Last update: 2019-12-05 14:11    [W:0.100 / U:1.596 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site