Message ID | 20241101101252.1448466-1-peng.fan@oss.nxp.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | pmdomain: imx93-blk-ctrl: correct remove path | expand |
Am 01.11.24 um 11:12 schrieb Peng Fan (OSS): > From: Peng Fan <peng.fan@nxp.com> > > The check condition should be 'i < bc->onecell_data.num_domains', not > 'bc->onecell_data.num_domains' which will make the look never finish > and cause kernel panic. > > Also disable runtime to address > "imx93-blk-ctrl 4ac10000.system-controller: Unbalanced pm_runtime_enable!" > > Fixes: e9aa77d413c9 ("soc: imx: add i.MX93 media blk ctrl driver") > Signed-off-by: Peng Fan <peng.fan@nxp.com> > --- Reviewed-by: Stefan Wahren <wahrenst@gmx.net>
On Fri, 1 Nov 2024 at 11:02, Peng Fan (OSS) <peng.fan@oss.nxp.com> wrote: > > From: Peng Fan <peng.fan@nxp.com> > > The check condition should be 'i < bc->onecell_data.num_domains', not > 'bc->onecell_data.num_domains' which will make the look never finish > and cause kernel panic. > > Also disable runtime to address > "imx93-blk-ctrl 4ac10000.system-controller: Unbalanced pm_runtime_enable!" > > Fixes: e9aa77d413c9 ("soc: imx: add i.MX93 media blk ctrl driver") > Signed-off-by: Peng Fan <peng.fan@nxp.com> Applied for fixes and by adding a stable tag, thanks! Kind regards Uffe > --- > drivers/pmdomain/imx/imx93-blk-ctrl.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/pmdomain/imx/imx93-blk-ctrl.c b/drivers/pmdomain/imx/imx93-blk-ctrl.c > index 904ffa55b8f4..b10348ac10f0 100644 > --- a/drivers/pmdomain/imx/imx93-blk-ctrl.c > +++ b/drivers/pmdomain/imx/imx93-blk-ctrl.c > @@ -313,7 +313,9 @@ static void imx93_blk_ctrl_remove(struct platform_device *pdev) > > of_genpd_del_provider(pdev->dev.of_node); > > - for (i = 0; bc->onecell_data.num_domains; i++) { > + pm_runtime_disable(&pdev->dev); > + > + for (i = 0; i < bc->onecell_data.num_domains; i++) { > struct imx93_blk_ctrl_domain *domain = &bc->domains[i]; > > pm_genpd_remove(&domain->genpd); > -- > 2.37.1 >
diff --git a/drivers/pmdomain/imx/imx93-blk-ctrl.c b/drivers/pmdomain/imx/imx93-blk-ctrl.c index 904ffa55b8f4..b10348ac10f0 100644 --- a/drivers/pmdomain/imx/imx93-blk-ctrl.c +++ b/drivers/pmdomain/imx/imx93-blk-ctrl.c @@ -313,7 +313,9 @@ static void imx93_blk_ctrl_remove(struct platform_device *pdev) of_genpd_del_provider(pdev->dev.of_node); - for (i = 0; bc->onecell_data.num_domains; i++) { + pm_runtime_disable(&pdev->dev); + + for (i = 0; i < bc->onecell_data.num_domains; i++) { struct imx93_blk_ctrl_domain *domain = &bc->domains[i]; pm_genpd_remove(&domain->genpd);