mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-19 18:53:52 +08:00
usb: musb: Fix suspend with devices connected for a64
Pinephone running on Allwinner A64 fails to suspend with USB devices connected as reported by Bhushan Shah <bshah@kde.org>. Reverting commit5fbf7a2534
("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:5fbf7a2534
("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
6f978a30c9
commit
92af4fc6ec
@ -2004,10 +2004,14 @@ static void musb_pm_runtime_check_session(struct musb *musb)
|
|||||||
MUSB_DEVCTL_HR;
|
MUSB_DEVCTL_HR;
|
||||||
switch (devctl & ~s) {
|
switch (devctl & ~s) {
|
||||||
case MUSB_QUIRK_B_DISCONNECT_99:
|
case MUSB_QUIRK_B_DISCONNECT_99:
|
||||||
musb_dbg(musb, "Poll devctl in case of suspend after disconnect\n");
|
if (musb->quirk_retries && !musb->flush_irq_work) {
|
||||||
schedule_delayed_work(&musb->irq_work,
|
musb_dbg(musb, "Poll devctl in case of suspend after disconnect\n");
|
||||||
msecs_to_jiffies(1000));
|
schedule_delayed_work(&musb->irq_work,
|
||||||
break;
|
msecs_to_jiffies(1000));
|
||||||
|
musb->quirk_retries--;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
fallthrough;
|
||||||
case MUSB_QUIRK_B_INVALID_VBUS_91:
|
case MUSB_QUIRK_B_INVALID_VBUS_91:
|
||||||
if (musb->quirk_retries && !musb->flush_irq_work) {
|
if (musb->quirk_retries && !musb->flush_irq_work) {
|
||||||
musb_dbg(musb,
|
musb_dbg(musb,
|
||||||
|
Loading…
Reference in New Issue
Block a user