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 <[email protected]>
> ---
>  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 <[email protected]>

Reply via email to