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

Skip to content
Commit 40a1c02c authored by Pavankumar Kondeti's avatar Pavankumar Kondeti
Browse files

USB: EHCI: Fix bug in bus suspend routine



The root hub state is incorrectly set to EHCI_RH_SUSPENDED in
ehci_bus_suspend() function during 3.10 kernel porting. The
pending QH unlinking is skipped if the root hub is already
suspended. We enter suspend while some QH are in UNLINK or
UNLINK_WAIT state. When the device corresponding to the QH
is removed, the disconnect is blocked indefinitely for the
QH unlink completion. The QH unlink never gets completed as
the IAAD cycle is not started due to state mismatch.

This issue is observed while running the HUB connect and
disconnect tests. As the HUB device auto-suspend delay is 0,
the bus suspend gets kicked in before the interrupt endpoint
QH unlink is completed.

CRs-Fixed: 661872
Change-Id: Ie6018057d4fa340db229946de56386ca2ac2ed53
Signed-off-by: default avatarPavankumar Kondeti <pkondeti@codeaurora.org>
parent 5dd6baeb
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