aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/dwc3/core.c
diff options
context:
space:
mode:
authorManu Gautam <mgautam@codeaurora.org>2017-09-27 16:49:21 +0530
committerFelipe Balbi <felipe.balbi@linux.intel.com>2017-10-24 12:51:19 +0300
commit8eed00b237a2844dbe6bc2bac5c0b2657f9f194b (patch)
treeb3eb2e1ecafbb41f6aa7074b0c548a6642824722 /drivers/usb/dwc3/core.c
parentusb: dwc3: Don't reinitialize core during host bus-suspend/resume (diff)
downloadlinux-dev-8eed00b237a2844dbe6bc2bac5c0b2657f9f194b.tar.xz
linux-dev-8eed00b237a2844dbe6bc2bac5c0b2657f9f194b.zip
usb: dwc3: pci: Runtime resume child device from wq
Driver currently resumes and increments pm usage_count of its child device (dwc3 main) from its runtime_resume handler. This requires dwc3 runtime_resume to perform pm_runtime_put to decrement the pm usage_count. However runtime_put from dwc3 happens for non pci drivers (e.g. dwc3-if-simple.c) as well which results in dwc3 pm usage_count becoming negative after couple of runtime suspend resume iterations. Fix this by performing runtime_get/put from dwc3-pci driver only using workqueue. Signed-off-by: Manu Gautam <mgautam@codeaurora.org> Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Diffstat (limited to 'drivers/usb/dwc3/core.c')
-rw-r--r--drivers/usb/dwc3/core.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index f75613fd0de0..23bb1925c9aa 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -1391,7 +1391,6 @@ static int dwc3_runtime_resume(struct device *dev)
}
pm_runtime_mark_last_busy(dev);
- pm_runtime_put(dev);
return 0;
}