ASoC: omap-mcbsp: Fix use of uninitialised pointer
authorAlex Dewar <alex.dewar90@gmail.com>
Sun, 4 Oct 2020 10:25:36 +0000 (11:25 +0100)
committerMark Brown <broonie@kernel.org>
Tue, 6 Oct 2020 14:24:40 +0000 (15:24 +0100)
Commit 9c34d023dc35 ("ASoC: omap-mcbsp: Re-arrange files for core McBSP
and Sidetone function split"), in rearranging various files, also replaced
calls to platform_get_resource_by_name() + devm_ioremap_resource() with a
single call to devm_platform_ioremap_resource_byname(). However, the
struct resource is needed as we access its members so at present a null
pointer is dereferenced. Fix by doing things the old way.

Fixes: 9c34d023dc35 ("ASoC: omap-mcbsp: Re-arrange files for core McBSP and Sidetone function split")
Signed-off-by: Alex Dewar <alex.dewar90@gmail.com>
Link: https://lore.kernel.org/r/20201004102535.325547-1-alex.dewar90@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/ti/omap-mcbsp.c

index 186cea9..6025b30 100644 (file)
@@ -620,7 +620,11 @@ static int omap_mcbsp_init(struct platform_device *pdev)
        spin_lock_init(&mcbsp->lock);
        mcbsp->free = true;
 
-       mcbsp->io_base = devm_platform_ioremap_resource_byname(pdev, "mpu");
+       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);
        if (IS_ERR(mcbsp->io_base))
                return PTR_ERR(mcbsp->io_base);