Hi, Martin Kepplinger <martin.kepplinger@xxxxxxx> writes: > I'm running today's linux-next with this defconfig on a librem 5 devkit: > > https://source.puri.sm/martin.kepplinger/linux-next/blob/next-20191205/librem5/arch/arm64/configs/librem5_defconfig > > 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 please capture ftrace logs from dwc3. We have documentation for this: https://www.kernel.org/doc/html/latest/driver-api/usb/dwc3.html (note to self: update email address :-) > and then try to suspend: > > root@pureos:/home/purism# echo mem > /sys/power/state > [ 37.863066] xhci-hcd xhci-hcd.0.auto: xHCI host controller not > responding, assume dead > [ 37.871345] xhci-hcd xhci-hcd.0.auto: HC died; cleaning up > [ 37.877260] PM: dpm_run_callback(): platform_pm_suspend+0x0/0x78 > returns -22 > [ 37.884626] PM: Device xhci-hcd.0.auto failed to suspend async: error -22 > [ 37.891728] PM: Some devices failed to suspend, or early wake event > detected > 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. Have you tried any other gadget drivers or just g-multi? Care to try with something simple like g-zero? cheers -- balbi
Attachment:
signature.asc
Description: PGP signature