lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <38edc05e-680b-d881-49fc-e8230a93b2c8@puri.sm>
Date:   Thu, 5 Dec 2019 14:11:13 +0100
From:   Martin Kepplinger <martin.kepplinger@...i.sm>
To:     linux-usb@...r.kernel.org, gregkh@...uxfoundation.org,
        balbi@...nel.org
Cc:     kernel@...i.sm, linux-kernel@...r.kernel.org,
        p.zabel@...gutronix.de
Subject: suspend problem with dwc3 gadget / g_multi when usb disconnected

hi,

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

and then try to suspend:

root@...eos:/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.

thanks so far,

                                      martin

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ