Commit b318ad50 authored by Nariman Poushin's avatar Nariman Poushin Committed by Mark Brown
Browse files

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

parent 261edc70
Loading
Loading
Loading
Loading
+11 −3
Original line number Diff line number Diff line
@@ -1127,10 +1127,18 @@ 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,
	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) {
		ret = snd_soc_dapm_new_dai_widgets(&codec->dapm, dai);