On Sat, 17 Dec 2022 at 17:05, Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> wrote: > > If an error occurs after a successful pm_genpd_init() call, it should be > undone by a corresponding pm_genpd_remove(). > > Add the missing call in the error handling path, as already done in the > remove function. > > Fixes: bf6910abf548 ("power: avs: Add support for CPR (Core Power Reduction)") > Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Kind regards Uffe > --- > drivers/soc/qcom/cpr.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/soc/qcom/cpr.c b/drivers/soc/qcom/cpr.c > index e9b854ed1bdf..144ea68e0920 100644 > --- a/drivers/soc/qcom/cpr.c > +++ b/drivers/soc/qcom/cpr.c > @@ -1708,12 +1708,16 @@ static int cpr_probe(struct platform_device *pdev) > > ret = of_genpd_add_provider_simple(dev->of_node, &drv->pd); > if (ret) > - return ret; > + goto err_remove_genpd; > > platform_set_drvdata(pdev, drv); > cpr_debugfs_init(drv); > > return 0; > + > +err_remove_genpd: > + pm_genpd_remove(&drv->pd); > + return ret; > } > > static int cpr_remove(struct platform_device *pdev) > -- > 2.34.1 >