Message ID | 20200922015123.117489-1-zhangqilong3@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [-next,v2] ASoC: ti: omap-mcbsp: use devm_platform_ioremap_resource_byname | expand |
On Tue, 22 Sep 2020 09:51:23 +0800, Qilong Zhang wrote: > Use the devm_platform_ioremap_resource_byname() helper instead of > calling platform_get_resource_byname() and devm_ioremap_resource() > separately. Applied to https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next Thanks! [1/1] ASoC: ti: omap-mcbsp: use devm_platform_ioremap_resource_byname commit: 31e1fc4f11e2ede512221eba9e7291ab19ec66da All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted. You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed. If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced. Please add any relevant lists and maintainers to the CCs when replying to this mail. Thanks, Mark
On 9/21/20 20:51, Qilong Zhang wrote: > From: Zhang Qilong <zhangqilong3@huawei.com> > > 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@huawei.com> > --- > 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
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);