summaryrefslogtreecommitdiff
path: root/drivers/base
diff options
context:
space:
mode:
authorAlex Shi <alex.shi@linaro.org>2016-02-29 10:18:54 +0800
committerAlex Shi <alex.shi@linaro.org>2016-02-29 10:18:54 +0800
commit582ee3a96f6a108f589bdc4ce8cc8176c8d763e5 (patch)
treeffb7c064fe0b7202ebc770cd3c69f5b802893215 /drivers/base
parent02bbd06e489a9f56910973535152d3ec47f3fdcc (diff)
parent12a08707dec7ff067688710aee0d4698f6da98a6 (diff)
Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android
Diffstat (limited to 'drivers/base')
-rw-r--r--drivers/base/platform.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/base/platform.c b/drivers/base/platform.c
index 1dd6d3bf1098..176b59f5bc47 100644
--- a/drivers/base/platform.c
+++ b/drivers/base/platform.c
@@ -513,10 +513,15 @@ static int platform_drv_probe(struct device *_dev)
return ret;
ret = dev_pm_domain_attach(_dev, true);
- if (ret != -EPROBE_DEFER && drv->probe) {
- ret = drv->probe(dev);
- if (ret)
- dev_pm_domain_detach(_dev, true);
+ if (ret != -EPROBE_DEFER) {
+ if (drv->probe) {
+ ret = drv->probe(dev);
+ if (ret)
+ dev_pm_domain_detach(_dev, true);
+ } else {
+ /* don't fail if just dev_pm_domain_attach failed */
+ ret = 0;
+ }
}
if (drv->prevent_deferred_probe && ret == -EPROBE_DEFER) {