ASoC: mediatek: mt2701: fix some error handling in probe
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 7 Jul 2016 08:14:04 +0000 (11:14 +0300)
committerMark Brown <broonie@kernel.org>
Thu, 7 Jul 2016 09:40:58 +0000 (11:40 +0200)
The check for if the "afe" allocation failed was too late and there
wasn't a check for "afe->platform_priv".

Fixes: 43a6a7e71063 ('ASoC: mediatek: add mt2701 platform driver implementation.')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Garlic Tseng <garlic.tseng@mediatek.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/mediatek/mt2701/mt2701-afe-pcm.c

index 6c14d68..15522c0 100644 (file)
@@ -1489,11 +1489,13 @@ static int mt2701_afe_pcm_dev_probe(struct platform_device *pdev)
 
        ret = 0;
        afe = devm_kzalloc(&pdev->dev, sizeof(*afe), GFP_KERNEL);
 
        ret = 0;
        afe = devm_kzalloc(&pdev->dev, sizeof(*afe), GFP_KERNEL);
+       if (!afe)
+               return -ENOMEM;
        afe->platform_priv = devm_kzalloc(&pdev->dev, sizeof(*afe_priv),
                                          GFP_KERNEL);
        afe->platform_priv = devm_kzalloc(&pdev->dev, sizeof(*afe_priv),
                                          GFP_KERNEL);
-       afe_priv = afe->platform_priv;
-       if (!afe)
+       if (!afe->platform_priv)
                return -ENOMEM;
                return -ENOMEM;
+       afe_priv = afe->platform_priv;
 
        afe->dev = &pdev->dev;
        dev = afe->dev;
 
        afe->dev = &pdev->dev;
        dev = afe->dev;