Just as the commit <4cb79ef9c6c4>("ASoC: amd: Fix potential NULL pointer 
dereference"),it makes no sense to allocate any resources if res = 
platform_get_resource(pdev, IORESOURCE_MEM, 0); fails,so move the call to 
devm_kzalloc() below the mentioned code.

Signed-off-by: Defang Bo <bodef...@126.com>
---
 sound/soc/amd/raven/acp3x-i2s.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/sound/soc/amd/raven/acp3x-i2s.c b/sound/soc/amd/raven/acp3x-i2s.c
index a532e01..c9c69eb 100644
--- a/sound/soc/amd/raven/acp3x-i2s.c
+++ b/sound/soc/amd/raven/acp3x-i2s.c
@@ -302,16 +302,14 @@ static int acp3x_dai_probe(struct platform_device *pdev)
        struct i2s_dev_data *adata;
        int ret;
 
-       adata = devm_kzalloc(&pdev->dev, sizeof(struct i2s_dev_data),
-                       GFP_KERNEL);
-       if (!adata)
-               return -ENOMEM;
-
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        if (!res) {
                dev_err(&pdev->dev, "IORESOURCE_MEM FAILED\n");
                return -ENOMEM;
        }
+       adata = devm_kzalloc(&pdev->dev, sizeof(struct i2s_dev_data), 
GFP_KERNEL);
+       if (!adata)
+               return -ENOMEM;
        adata->acp3x_base = devm_ioremap(&pdev->dev, res->start,
                                                resource_size(res));
        if (!adata->acp3x_base)
-- 
1.9.1

Reply via email to