Message ID | 20200706132052.1.I28c26381b4f45a78d97ea917280479c10df92e76@changeid |
---|---|
State | Accepted |
Commit | ded48bec0568c7e94d3ef5ea10b13a46d0fd26a6 |
Headers | show |
Series | arm: stm32mp: stm32prog: check result of find_mmc_device | expand |
On 7/6/20 1:20 PM, Patrick Delaunay wrote: > Check result of find_mmc_device() before calling mmc_init(). > > This patch avoid a data abort when the command try to acces > to sd/mmc device deactivated in device tree. > > Fixes: aff4c5dd8265 ("stm32mp: stm32prog: add MMC device") > Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> > --- > > arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c > index c5b8841b23..e4199dbaa5 100644 > --- a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c > +++ b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c > @@ -560,7 +560,7 @@ static int init_device(struct stm32prog_data *data, > #ifdef CONFIG_MMC > case STM32PROG_MMC: > mmc = find_mmc_device(dev->dev_id); > - if (mmc_init(mmc)) { > + if (!mmc || mmc_init(mmc)) { > stm32prog_err("mmc device %d not found", dev->dev_id); > return -ENODEV; > } Reviewed-by: Patrice Chotard <patrice.chotard@st.com> Thanks Patrice
On 7/28/20 3:29 PM, Patrice CHOTARD wrote: > On 7/6/20 1:20 PM, Patrick Delaunay wrote: >> Check result of find_mmc_device() before calling mmc_init(). >> >> This patch avoid a data abort when the command try to acces >> to sd/mmc device deactivated in device tree. >> >> Fixes: aff4c5dd8265 ("stm32mp: stm32prog: add MMC device") >> Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> >> --- >> >> arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c >> index c5b8841b23..e4199dbaa5 100644 >> --- a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c >> +++ b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c >> @@ -560,7 +560,7 @@ static int init_device(struct stm32prog_data *data, >> #ifdef CONFIG_MMC >> case STM32PROG_MMC: >> mmc = find_mmc_device(dev->dev_id); >> - if (mmc_init(mmc)) { >> + if (!mmc || mmc_init(mmc)) { >> stm32prog_err("mmc device %d not found", dev->dev_id); >> return -ENODEV; >> } > Reviewed-by: Patrice Chotard <patrice.chotard@st.com> > > Thanks > > Patrice > _______________________________________________ > Uboot-stm32 mailing list > Uboot-stm32@st-md-mailman.stormreply.com > https://st-md-mailman.stormreply.com/mailman/listinfo/uboot-stm32 Applied to u-boot-stm/master Thanks Patrice
diff --git a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c index c5b8841b23..e4199dbaa5 100644 --- a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c +++ b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c @@ -560,7 +560,7 @@ static int init_device(struct stm32prog_data *data, #ifdef CONFIG_MMC case STM32PROG_MMC: mmc = find_mmc_device(dev->dev_id); - if (mmc_init(mmc)) { + if (!mmc || mmc_init(mmc)) { stm32prog_err("mmc device %d not found", dev->dev_id); return -ENODEV; }
Check result of find_mmc_device() before calling mmc_init(). This patch avoid a data abort when the command try to acces to sd/mmc device deactivated in device tree. Fixes: aff4c5dd8265 ("stm32mp: stm32prog: add MMC device") Signed-off-by: Patrick Delaunay <patrick.delaunay at st.com> --- arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)