ASoC: core: Fail codec probe if we fail to add controls
diff mbox

Message ID 20140401125933.GA25844@opensource.wolfsonmicro.com
State New, archived
Headers show

Commit Message

Nariman Poushin April 1, 2014, 12:59 p.m. UTC
Signed-off-by: Nariman Poushin <nariman@opensource.wolfsonmicro.com>
---
 sound/soc/soc-core.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

Comments

Mark Brown April 1, 2014, 4:03 p.m. UTC | #1
On Tue, Apr 01, 2014 at 01:59:33PM +0100, Nariman Poushin wrote:
> Signed-off-by: Nariman Poushin <nariman@opensource.wolfsonmicro.com>

Applied, but:

Applying: ASoC: core: Fail codec probe if we fail to add controls
/home/broonie/git/linux/.git/rebase-apply/patch:19: space before tab in
indent.
					  	driver->num_dapm_widgets);
/home/broonie/git/linux/.git/rebase-apply/patch:20: trailing whitespace.
		
please run checkpatch.
Nariman Poushin April 2, 2014, 8:29 a.m. UTC | #2
On Tue, Apr 01, 2014 at 05:03:11PM +0100, Mark Brown wrote:
> On Tue, Apr 01, 2014 at 01:59:33PM +0100, Nariman Poushin wrote:
> > Signed-off-by: Nariman Poushin <nariman@opensource.wolfsonmicro.com>
> 
> Applied, but:
> 
> Applying: ASoC: core: Fail codec probe if we fail to add controls
> /home/broonie/git/linux/.git/rebase-apply/patch:19: space before tab in
> indent.
> 					  	driver->num_dapm_widgets);
> /home/broonie/git/linux/.git/rebase-apply/patch:20: trailing whitespace.
> 		
> please run checkpatch.

Will make sure to do in future, sorry for to the oversight.

Patch
diff mbox

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) {