Message ID | 20190418102757.1246-2-ulf.hansson@linaro.org |
---|---|
State | Accepted |
Commit | 71b77697af9ef06b559875e4bd8dc3d141807c93 |
Headers | show |
Series | PM / Domains: Improve support for multi PM domains | expand |
On 18-04-19, 12:27, Ulf Hansson wrote: > It's not correct to call kfree(dev) when device_register(dev) has failed. > Fix this by calling put_device(dev) instead. > > Fixes: 3c095f32a92b ("PM / Domains: Add support for multi PM domains per device to genpd") > Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> > --- > drivers/base/power/domain.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c > index ecac03dcc9b2..7fec69aebf46 100644 > --- a/drivers/base/power/domain.c > +++ b/drivers/base/power/domain.c > @@ -2528,7 +2528,7 @@ struct device *genpd_dev_pm_attach_by_id(struct device *dev, > > ret = device_register(virt_dev); > if (ret) { > - kfree(virt_dev); > + put_device(virt_dev); > return ERR_PTR(ret); > } Acked-by: Viresh Kumar <viresh.kumar@linaro.org> -- viresh
On Thu, Apr 18, 2019 at 12:27:55PM +0200, Ulf Hansson wrote: > It's not correct to call kfree(dev) when device_register(dev) has failed. > Fix this by calling put_device(dev) instead. > > Fixes: 3c095f32a92b ("PM / Domains: Add support for multi PM domains per device to genpd") > Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> > --- > drivers/base/power/domain.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c > index ecac03dcc9b2..7fec69aebf46 100644 > --- a/drivers/base/power/domain.c > +++ b/drivers/base/power/domain.c > @@ -2528,7 +2528,7 @@ struct device *genpd_dev_pm_attach_by_id(struct device *dev, > > ret = device_register(virt_dev); > if (ret) { > - kfree(virt_dev); > + put_device(virt_dev); > return ERR_PTR(ret); > } > > -- > 2.17.1 > Acked-by: Niklas Cassel <niklas.cassel@linaro.org>
diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c index ecac03dcc9b2..7fec69aebf46 100644 --- a/drivers/base/power/domain.c +++ b/drivers/base/power/domain.c @@ -2528,7 +2528,7 @@ struct device *genpd_dev_pm_attach_by_id(struct device *dev, ret = device_register(virt_dev); if (ret) { - kfree(virt_dev); + put_device(virt_dev); return ERR_PTR(ret); }
It's not correct to call kfree(dev) when device_register(dev) has failed. Fix this by calling put_device(dev) instead. Fixes: 3c095f32a92b ("PM / Domains: Add support for multi PM domains per device to genpd") Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> --- drivers/base/power/domain.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.17.1