summaryrefslogtreecommitdiffstats
path: root/drivers/usb/chipidea
diff options
context:
space:
mode:
authorStephen Boyd2016-12-28 23:56:58 +0100
committerPeter Chen2017-01-20 08:25:31 +0100
commit2c8ea46d3e5462c54120f6bca42e2ccee4e48904 (patch)
tree5c1fe7c9ed1be587c419c32ccbe37660bdfc8769 /drivers/usb/chipidea
parentusb: chipidea: vbus event may exist before starting gadget (diff)
downloadkernel-qcow2-linux-2c8ea46d3e5462c54120f6bca42e2ccee4e48904.tar.gz
kernel-qcow2-linux-2c8ea46d3e5462c54120f6bca42e2ccee4e48904.tar.xz
kernel-qcow2-linux-2c8ea46d3e5462c54120f6bca42e2ccee4e48904.zip
usb: chipidea: msm: Mark device as runtime pm active
We're not properly marking the glue layer/wrapper device as runtime active, so runtime PM believes that the hardware state is inactive when we call pm_runtime_enable() in this driver. This causes a problem when the glue layer has a power domain associated with it, because runtime PM will go and disable the power domain to match the 'inactive' state of the device. Let's mark the device as active so that runtime PM doesn't improperly power down this device when it's actually active. Acked-by: Peter Chen <peter.chen@nxp.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Stephen Boyd <stephen.boyd@linaro.org> Signed-off-by: Peter Chen <peter.chen@nxp.com>
Diffstat (limited to 'drivers/usb/chipidea')
-rw-r--r--drivers/usb/chipidea/ci_hdrc_msm.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/chipidea/ci_hdrc_msm.c b/drivers/usb/chipidea/ci_hdrc_msm.c
index 3889809fd0c4..89c1a02d69b5 100644
--- a/drivers/usb/chipidea/ci_hdrc_msm.c
+++ b/drivers/usb/chipidea/ci_hdrc_msm.c
@@ -80,6 +80,7 @@ static int ci_hdrc_msm_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, plat_ci);
+ pm_runtime_set_active(&pdev->dev);
pm_runtime_no_callbacks(&pdev->dev);
pm_runtime_enable(&pdev->dev);