ASoC: samsung: i2s: Add return value checks in probe()
authorSylwester Nawrocki <s.nawrocki@samsung.com>
Wed, 14 Jan 2015 18:42:29 +0000 (19:42 +0100)
committerMark Brown <broonie@kernel.org>
Wed, 14 Jan 2015 19:46:53 +0000 (19:46 +0000)
These functions may fail so let's properly report any errors.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/samsung/i2s.c

index e5473ee799d7701853b9cc4f9e3c3b238b8d2b69..aa52b41f174946f90c5023f044883bda4da9efb3 100644 (file)
@@ -1173,11 +1173,13 @@ static int samsung_i2s_probe(struct platform_device *pdev)
                        dev_err(&pdev->dev, "Unable to get drvdata\n");
                        return -EFAULT;
                }
-               devm_snd_soc_register_component(&sec_dai->pdev->dev,
+               ret = devm_snd_soc_register_component(&sec_dai->pdev->dev,
                                                &samsung_i2s_component,
                                                &sec_dai->i2s_dai_drv, 1);
-               samsung_asoc_dma_platform_register(&pdev->dev);
-               return 0;
+               if (ret != 0)
+                       return ret;
+
+               return samsung_asoc_dma_platform_register(&pdev->dev);
        }
 
        pri_dai = i2s_alloc_dai(pdev, false);
@@ -1290,7 +1292,9 @@ static int samsung_i2s_probe(struct platform_device *pdev)
 
        pm_runtime_enable(&pdev->dev);
 
-       samsung_asoc_dma_platform_register(&pdev->dev);
+       ret = samsung_asoc_dma_platform_register(&pdev->dev);
+       if (ret != 0)
+               return ret;
 
        return 0;
 err: