Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 8d3e5e4d authored by ChandanaKishori Chiluveru's avatar ChandanaKishori Chiluveru
Browse files

USB: phy-msm-usb: Fix deadlock in Micro-A cable disconnect



If the Micro-A cable is disconnected while the system is suspended,
disconnect processing is done in PM notifier context. The PM notification
comes after all the devices are resumed. The root hub is unaware of
the disconnection and initiates the auto-suspend. The ehci msm driver
requests OTG to suspend the hardware as part of root hub auto-suspend.
The OTG driver clear the A_BUS_REQ flag, queue the state machine work
and waits for its completion.

When the state machine work runs, it identifies that the Micro-A cable
is disconnected and remove the HCD. The HCD removal context waits for
the root hub auto-suspend completion which is waiting for the state
machine work completion. This results in a deadlock and USB does not
work after this condition. Fix this by ignoring the host bus suspend
request when Micro-A cable is disconnected.

CRs-Fixed: 653800
Change-Id: Id6c9cfc777065552dea23bccabf5632d41f02027
Signed-off-by: default avatarChandanaKishori Chiluveru <cchilu@codeaurora.org>
parent 3a86fb3f
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment