The limitation of being able to check only for -EPROBE_DEFER from
dev_pm_domain_attach() has been removed. Hence let's respect all error
codes and bail out accordingly.

Cc: Vinod Koul <[email protected]>
Cc: Sanyog Kale <[email protected]>
Cc: Pierre-Louis Bossart <[email protected]>
Signed-off-by: Ulf Hansson <[email protected]>
---
 drivers/soundwire/bus_type.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/drivers/soundwire/bus_type.c b/drivers/soundwire/bus_type.c
index d5f3a70..283b283 100644
--- a/drivers/soundwire/bus_type.c
+++ b/drivers/soundwire/bus_type.c
@@ -83,17 +83,16 @@ static int sdw_drv_probe(struct device *dev)
         * attach to power domain but don't turn on (last arg)
         */
        ret = dev_pm_domain_attach(dev, false);
-       if (ret != -EPROBE_DEFER) {
-               ret = drv->probe(slave, id);
-               if (ret) {
-                       dev_err(dev, "Probe of %s failed: %d\n", drv->name, 
ret);
-                       dev_pm_domain_detach(dev, false);
-               }
-       }
-
        if (ret)
                return ret;
 
+       ret = drv->probe(slave, id);
+       if (ret) {
+               dev_err(dev, "Probe of %s failed: %d\n", drv->name, ret);
+               dev_pm_domain_detach(dev, false);
+               return ret;
+       }
+
        /* device is probed so let's read the properties now */
        if (slave->ops && slave->ops->read_prop)
                slave->ops->read_prop(slave);
-- 
2.7.4

Reply via email to