ASoC: simple-card: fix the cinfo error check
authorXiubo Li <Li.Xiubo@freescale.com>
Thu, 9 Jan 2014 09:49:40 +0000 (17:49 +0800)
committerMark Brown <broonie@linaro.org>
Thu, 9 Jan 2014 17:38:09 +0000 (17:38 +0000)
If the dt is used and the cinfo is NULL, the -ENOMEM should be return.

Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/generic/simple-card.c

index 6c61b1758f7804f95d97f7e0ff1677102ffec169..11030a63b811ebd0ed7ad51f2dc2df92f9a6a0ae 100644 (file)
@@ -211,15 +211,17 @@ static int asoc_simple_card_probe(struct platform_device *pdev)
                                        dev_err(dev, "parse error %d\n", ret);
                                return ret;
                        }
+               } else {
+                       return -ENOMEM;
                }
        } else {
                cinfo = pdev->dev.platform_data;
-               cinfo->snd_card.dev = &pdev->dev;
-       }
+               if (!cinfo) {
+                       dev_err(dev, "no info for asoc-simple-card\n");
+                       return -EINVAL;
+               }
 
-       if (!cinfo) {
-               dev_err(dev, "no info for asoc-simple-card\n");
-               return -EINVAL;
+               cinfo->snd_card.dev = &pdev->dev;
        }
 
        if (!cinfo->name        ||