From f57dd975b02b7cd8844b9a6fc240e181ea5994cb Mon Sep 17 00:00:00 2001 From: Ajay Agarwal Date: Mon, 19 Mar 2018 18:38:05 +0530 Subject: xhci: plat: Avoid xhci_resume if skip_resume flag is set The flag skip_resume is set when DWC3 is already runtime suspended and prepare it for PM suspend. But if PM suspend of DWC is not called because of some reason, then directly the PM resume of xhci-plat is called which invokes xhci_resume when DWC is in Low Power Mode. This leads to watchdog timeout. Fix this issue by not calling xhci_resume if skip_resume is set. Change-Id: I47c946c4491015edcf00602d5a525bf35e7c67ed Signed-off-by: Ajay Agarwal --- drivers/usb/host/xhci-plat.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c index c9596f1a7d26..408c8eca2bbe 100644 --- a/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c @@ -353,7 +353,7 @@ static int xhci_plat_resume(struct device *dev) dev_dbg(dev, "xhci-plat PM resume\n"); - return xhci_resume(xhci, false); + return (!hcd_to_bus(hcd)->skip_resume) ? xhci_resume(xhci, false) : 0; } #endif -- cgit v1.2.3