mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 22:40:54 -04:00
usb: musb: Fix suspend with devices connected for a64
commit 92af4fc6ec331228aca322ca37c8aea7b150a151 upstream.
Pinephone running on Allwinner A64 fails to suspend with USB devices
connected as reported by Bhushan Shah <bshah@kde.org>. Reverting
commit 5fbf7a253470 ("usb: musb: fix idling for suspend after
disconnect interrupt") fixes the issue.
Let's add suspend checks also for suspend after disconnect interrupt
quirk handling like we already do elsewhere.
Fixes: 5fbf7a253470 ("usb: musb: fix idling for suspend after disconnect interrupt")
Reported-by: Bhushan Shah <bshah@kde.org>
Tested-by: Bhushan Shah <bshah@kde.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Link: https://lore.kernel.org/r/20210324071142.42264-1-tony@atomide.com
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
e94dec2765
commit
a22e35f7b4
1 changed files with 8 additions and 4 deletions
|
|
@ -1866,10 +1866,14 @@ static void musb_pm_runtime_check_session(struct musb *musb)
|
|||
MUSB_DEVCTL_HR;
|
||||
switch (devctl & ~s) {
|
||||
case MUSB_QUIRK_B_DISCONNECT_99:
|
||||
musb_dbg(musb, "Poll devctl in case of suspend after disconnect\n");
|
||||
schedule_delayed_work(&musb->irq_work,
|
||||
msecs_to_jiffies(1000));
|
||||
break;
|
||||
if (musb->quirk_retries && !musb->flush_irq_work) {
|
||||
musb_dbg(musb, "Poll devctl in case of suspend after disconnect\n");
|
||||
schedule_delayed_work(&musb->irq_work,
|
||||
msecs_to_jiffies(1000));
|
||||
musb->quirk_retries--;
|
||||
break;
|
||||
}
|
||||
fallthrough;
|
||||
case MUSB_QUIRK_B_INVALID_VBUS_91:
|
||||
if (musb->quirk_retries && !musb->flush_irq_work) {
|
||||
musb_dbg(musb,
|
||||
|
|
|
|||
Loading…
Reference in a new issue