Re: [PATCH] PM / Domains: Only check for errors when calling dev_pm_get_subsys_data

From: Rafael J. Wysocki
Date: Sun Aug 05 2012 - 17:07:49 EST


On Sunday, August 05, 2012, Heiko StÃbner wrote:
> Commit 1d5fcfec22 (PM / Domains: Add device domain data reference counter)
> added a check for the return value of dev_pm_get_subsys_data.
>
> But this function does not only return error codes but also "1" when a
> new object has been created.
>
> So, change the check to only catch real errors.
>
> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx>

Good catch!

Applied to the linux-next branch of the linux-pm.git tree. I'm going to
push it as a fix for v3.6.

However, there's one more analogous fix necessary, for which I'm going to
apply the appended patch.

Thanks,
Rafael


---
From: Rafael J. Wysocki <rjw@xxxxxxx>
Subject: PM / Domains: Fix one more dev_pm_get_subsys_data() return value check

The check agains the return value of dev_pm_get_subsys_data()
in pm_genpd_add_callbacks() should be modified so that non-negative
values are not regarded as errors, because dev_pm_get_subsys_data()
returns 1 if it successfully creates a new object.

Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx>
---
drivers/base/power/domain.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux/drivers/base/power/domain.c
===================================================================
--- linux.orig/drivers/base/power/domain.c
+++ linux/drivers/base/power/domain.c
@@ -1691,7 +1691,7 @@ int pm_genpd_add_callbacks(struct device
device_pm_lock();

ret = dev_pm_get_subsys_data(dev);
- if (ret)
+ if (ret < 0)
goto out;

spin_lock_irq(&dev->power.lock);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/