ASoC: core: Fail probe if we fail to add dai widgets
authorNariman Poushin <nariman@opensource.wolfsonmicro.com>
Mon, 31 Mar 2014 14:47:12 +0000 (15:47 +0100)
committerMark Brown <broonie@linaro.org>
Mon, 14 Apr 2014 16:23:38 +0000 (17:23 +0100)
Signed-off-by: Nariman Poushin <nariman@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/soc-core.c

index 051c006281f5c2c003583f7104c9ec02dc886dfc..d5710fc79b4998c185402f6811f8dca48a3c35b9 100644 (file)
@@ -1132,8 +1132,15 @@ static int soc_probe_codec(struct snd_soc_card *card,
                                          driver->num_dapm_widgets);
 
        /* Create DAPM widgets for each DAI stream */
-       list_for_each_entry(dai, &codec->component.dai_list, list)
-               snd_soc_dapm_new_dai_widgets(&codec->dapm, dai);
+       list_for_each_entry(dai, &codec->component.dai_list, list) {
+               ret = snd_soc_dapm_new_dai_widgets(&codec->dapm, dai);
+
+               if (ret != 0) {
+                       dev_err(codec->dev,
+                               "Failed to create DAI widgets %d\n", ret);
+                       goto err_probe;
+               }
+       }
 
        codec->dapm.idle_bias_off = driver->idle_bias_off;