On 9/21/20 20:51, Qilong Zhang wrote: > From: Zhang Qilong <zhangqilong3@xxxxxxxxxx> > > Use the devm_platform_ioremap_resource_byname() helper instead of > calling platform_get_resource_byname() and devm_ioremap_resource() > separately. > > Signed-off-by: Zhang Qilong <zhangqilong3@xxxxxxxxxx> > --- > sound/soc/ti/omap-mcbsp.c | 6 +----- > 1 file changed, 1 insertion(+), 5 deletions(-) > > diff --git a/sound/soc/ti/omap-mcbsp.c b/sound/soc/ti/omap-mcbsp.c > index 6025b30bbe77..186cea91076f 100644 > --- a/sound/soc/ti/omap-mcbsp.c > +++ b/sound/soc/ti/omap-mcbsp.c > @@ -620,11 +620,7 @@ static int omap_mcbsp_init(struct platform_device *pdev) > spin_lock_init(&mcbsp->lock); > mcbsp->free = true; > > - res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "mpu"); > - if (!res) > - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > - > - mcbsp->io_base = devm_ioremap_resource(&pdev->dev, res); > + mcbsp->io_base = devm_platform_ioremap_resource_byname(pdev, "mpu"); > if (IS_ERR(mcbsp->io_base)) > return PTR_ERR(mcbsp->io_base); > > And then what happens with the code below? mcbsp->phys_base = res->start; mcbsp->reg_cache_size = resource_size(res); Now, you end up with an uninitialized pointer read. This is wrong. -- Gustavo