Skip to content

Commit 75f43ac

Browse files
Artur Petrosyangregkh
authored andcommitted
usb: dwc2: Allow exit partial power down in urb enqueue
When core is in partial power down state and an external hub is connected, upper layer sends URB enqueue request, which results in port reset issue. Added exit from partial power down state to avoid port reset issue and process upper layer request correctly. Acked-by: Minas Harutyunyan <Minas.Harutyunyan@synopsys.com> Signed-off-by: Artur Petrosyan <Arthur.Petrosyan@synopsys.com> Link: https://lore.kernel.org/r/20210408094542.685BAA0094@mailhost.synopsys.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 4d4d99a commit 75f43ac

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

drivers/usb/dwc2/hcd.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4633,6 +4633,13 @@ static int _dwc2_hcd_urb_enqueue(struct usb_hcd *hcd, struct urb *urb,
46334633
dwc2_dump_urb_info(hcd, urb, "urb_enqueue");
46344634
}
46354635

4636+
if (hsotg->in_ppd) {
4637+
retval = dwc2_exit_partial_power_down(hsotg, 0, true);
4638+
if (retval)
4639+
dev_err(hsotg->dev,
4640+
"exit partial_power_down failed\n");
4641+
}
4642+
46364643
if (!ep)
46374644
return -EINVAL;
46384645

0 commit comments

Comments
 (0)