Merge branch 'pm-qos'
[muen/linux.git] / drivers / base / power / domain.c
index 24e39ce27bd8876ce971a86620a1f0983e21ba03..0c80bea05bcb92be79b90e3210fbfdbbb65d0bac 100644 (file)
@@ -1008,7 +1008,7 @@ static int genpd_prepare(struct device *dev)
        genpd_unlock(genpd);
 
        ret = pm_generic_prepare(dev);
-       if (ret) {
+       if (ret < 0) {
                genpd_lock(genpd);
 
                genpd->prepared_count--;
@@ -1016,7 +1016,8 @@ static int genpd_prepare(struct device *dev)
                genpd_unlock(genpd);
        }
 
-       return ret;
+       /* Never return 1, as genpd don't cope with the direct_complete path. */
+       return ret >= 0 ? 0 : ret;
 }
 
 /**