[alsa-devel] [PATCH] ASoC: core: Fail codec probe if we fail to add controls

Nariman Poushin nariman at opensource.wolfsonmicro.com
Tue Apr 1 14:59:33 CEST 2014


Signed-off-by: Nariman Poushin <nariman at opensource.wolfsonmicro.com>
---
 sound/soc/soc-core.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 35c0e71..7f9ae6c 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -1127,9 +1127,17 @@ static int soc_probe_codec(struct snd_soc_card *card,
 
 	soc_init_codec_debugfs(codec);
 
-	if (driver->dapm_widgets)
-		snd_soc_dapm_new_controls(&codec->dapm, driver->dapm_widgets,
-					  driver->num_dapm_widgets);
+	if (driver->dapm_widgets) {
+		ret = snd_soc_dapm_new_controls(&codec->dapm,
+						driver->dapm_widgets,
+					  	driver->num_dapm_widgets);
+		
+		if (ret != 0) {
+			dev_err(codec->dev,
+				"Failed to create new controls %d\n", ret);
+			goto err_probe;
+		}
+	}
 
 	/* Create DAPM widgets for each DAI stream */
 	list_for_each_entry(dai, &codec->component.dai_list, list) {
-- 
1.8.5.3



More information about the Alsa-devel mailing list