Message ID | 20250114011818.2401479-1-xiaolei.wang@windriver.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [v2] pmdomain: imx8mp-blk-ctrl: add missing loop break condition | expand |
On Mon, Jan 13, 2025 at 10:18 PM Xiaolei Wang <xiaolei.wang@windriver.com> wrote: > > Currently imx8mp_blk_ctrl_remove() will continue the for loop > until an out-of-bounds exception occurs. > > pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) > pc : dev_pm_domain_detach+0x8/0x48 > lr : imx8mp_blk_ctrl_shutdown+0x58/0x90 > sp : ffffffc084f8bbf0 > x29: ffffffc084f8bbf0 x28: ffffff80daf32ac0 x27: 0000000000000000 > x26: ffffffc081658d78 x25: 0000000000000001 x24: ffffffc08201b028 > x23: ffffff80d0db9490 x22: ffffffc082340a78 x21: 00000000000005b0 > x20: ffffff80d19bc180 x19: 000000000000000a x18: ffffffffffffffff > x17: ffffffc080a39e08 x16: ffffffc080a39c98 x15: 4f435f464f006c72 > x14: 0000000000000004 x13: ffffff80d0172110 x12: 0000000000000000 > x11: ffffff80d0537740 x10: ffffff80d05376c0 x9 : ffffffc0808ed2d8 > x8 : ffffffc084f8bab0 x7 : 0000000000000000 x6 : 0000000000000000 > x5 : ffffff80d19b9420 x4 : fffffffe03466e60 x3 : 0000000080800077 > x2 : 0000000000000000 x1 : 0000000000000001 x0 : 0000000000000000 > Call trace: > dev_pm_domain_detach+0x8/0x48 > platform_shutdown+0x2c/0x48 > device_shutdown+0x158/0x268 > kernel_restart_prepare+0x40/0x58 > kernel_kexec+0x58/0xe8 > __do_sys_reboot+0x198/0x258 > __arm64_sys_reboot+0x2c/0x40 > invoke_syscall+0x5c/0x138 > el0_svc_common.constprop.0+0x48/0xf0 > do_el0_svc+0x24/0x38 > el0_svc+0x38/0xc8 > el0t_64_sync_handler+0x120/0x130 > el0t_64_sync+0x190/0x198 > Code: 8128c2d0 ffffffc0 aa1e03e9 d503201f > > Fixes: 556f5cf9568a ("soc: imx: add i.MX8MP HSIO blk-ctrl") > Signed-off-by: Xiaolei Wang <xiaolei.wang@windriver.com> > Reviewed-by: Lucas Stach <l.stach@pengutronix.de> Thanks for the fix: Reviewed-by: Fabio Estevam <festevam@gmail.com>
On Tue, Jan 14, 2025 at 09:18:18AM +0800, Xiaolei Wang wrote: > Currently imx8mp_blk_ctrl_remove() will continue the for loop > until an out-of-bounds exception occurs. > > pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) > pc : dev_pm_domain_detach+0x8/0x48 > lr : imx8mp_blk_ctrl_shutdown+0x58/0x90 > sp : ffffffc084f8bbf0 > x29: ffffffc084f8bbf0 x28: ffffff80daf32ac0 x27: 0000000000000000 > x26: ffffffc081658d78 x25: 0000000000000001 x24: ffffffc08201b028 > x23: ffffff80d0db9490 x22: ffffffc082340a78 x21: 00000000000005b0 > x20: ffffff80d19bc180 x19: 000000000000000a x18: ffffffffffffffff > x17: ffffffc080a39e08 x16: ffffffc080a39c98 x15: 4f435f464f006c72 > x14: 0000000000000004 x13: ffffff80d0172110 x12: 0000000000000000 > x11: ffffff80d0537740 x10: ffffff80d05376c0 x9 : ffffffc0808ed2d8 > x8 : ffffffc084f8bab0 x7 : 0000000000000000 x6 : 0000000000000000 > x5 : ffffff80d19b9420 x4 : fffffffe03466e60 x3 : 0000000080800077 > x2 : 0000000000000000 x1 : 0000000000000001 x0 : 0000000000000000 > Call trace: > dev_pm_domain_detach+0x8/0x48 > platform_shutdown+0x2c/0x48 > device_shutdown+0x158/0x268 > kernel_restart_prepare+0x40/0x58 > kernel_kexec+0x58/0xe8 > __do_sys_reboot+0x198/0x258 > __arm64_sys_reboot+0x2c/0x40 > invoke_syscall+0x5c/0x138 > el0_svc_common.constprop.0+0x48/0xf0 > do_el0_svc+0x24/0x38 > el0_svc+0x38/0xc8 > el0t_64_sync_handler+0x120/0x130 > el0t_64_sync+0x190/0x198 > Code: 8128c2d0 ffffffc0 aa1e03e9 d503201f > > Fixes: 556f5cf9568a ("soc: imx: add i.MX8MP HSIO blk-ctrl") need cc stable? Reviewed-by: Frank Li <Frank.Li@nxp.com> > Signed-off-by: Xiaolei Wang <xiaolei.wang@windriver.com> > Reviewed-by: Lucas Stach <l.stach@pengutronix.de> > --- > v1: > https://patchwork.kernel.org/project/imx/patch/20250113045609.842243-1-xiaolei.wang@windriver.com/ > > v2: > Update commit subject > > drivers/pmdomain/imx/imx8mp-blk-ctrl.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/pmdomain/imx/imx8mp-blk-ctrl.c b/drivers/pmdomain/imx/imx8mp-blk-ctrl.c > index e3a0f64c144c..3668fe66b22c 100644 > --- a/drivers/pmdomain/imx/imx8mp-blk-ctrl.c > +++ b/drivers/pmdomain/imx/imx8mp-blk-ctrl.c > @@ -770,7 +770,7 @@ static void imx8mp_blk_ctrl_remove(struct platform_device *pdev) > > of_genpd_del_provider(pdev->dev.of_node); > > - for (i = 0; bc->onecell_data.num_domains; i++) { > + for (i = 0; i < bc->onecell_data.num_domains; i++) { > struct imx8mp_blk_ctrl_domain *domain = &bc->domains[i]; > > pm_genpd_remove(&domain->genpd); > -- > 2.25.1 >
diff --git a/drivers/pmdomain/imx/imx8mp-blk-ctrl.c b/drivers/pmdomain/imx/imx8mp-blk-ctrl.c index e3a0f64c144c..3668fe66b22c 100644 --- a/drivers/pmdomain/imx/imx8mp-blk-ctrl.c +++ b/drivers/pmdomain/imx/imx8mp-blk-ctrl.c @@ -770,7 +770,7 @@ static void imx8mp_blk_ctrl_remove(struct platform_device *pdev) of_genpd_del_provider(pdev->dev.of_node); - for (i = 0; bc->onecell_data.num_domains; i++) { + for (i = 0; i < bc->onecell_data.num_domains; i++) { struct imx8mp_blk_ctrl_domain *domain = &bc->domains[i]; pm_genpd_remove(&domain->genpd);