diff options
author | Leonard König | 2016-02-16 23:58:56 +0100 |
---|---|---|
committer | Leonard König | 2016-02-16 23:58:56 +0100 |
commit | 652a55e72878640107f27d75afcd5a7900f20c58 (patch) | |
tree | 2eb1b189f3287225f8789efb650e9945de1182c8 /tpmdd-devel-v3-base-platform-fix-binding-for-drivers-without-probe-callback.patch | |
download | aur-652a55e72878640107f27d75afcd5a7900f20c58.tar.gz |
inital import from 72631d1
https://projects.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/linux&id=72631d167706af02e50a496a437691e4548878e4
Diffstat (limited to 'tpmdd-devel-v3-base-platform-fix-binding-for-drivers-without-probe-callback.patch')
-rw-r--r-- | tpmdd-devel-v3-base-platform-fix-binding-for-drivers-without-probe-callback.patch | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tpmdd-devel-v3-base-platform-fix-binding-for-drivers-without-probe-callback.patch b/tpmdd-devel-v3-base-platform-fix-binding-for-drivers-without-probe-callback.patch new file mode 100644 index 000000000000..691ab79b9d2f --- /dev/null +++ b/tpmdd-devel-v3-base-platform-fix-binding-for-drivers-without-probe-callback.patch @@ -0,0 +1,24 @@ +diff --git a/drivers/base/platform.c b/drivers/base/platform.c +index 1dd6d3b..176b59f 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) { |