Unverified Commit 78d2a05e authored by Peter Ujfalusi's avatar Peter Ujfalusi Committed by Mark Brown
Browse files

ASoC: ti: j721e-evm: Fix unbalanced domain activity tracking during startup



In case of an error within j721e_audio_startup() the domain->active must
be decremented to avoid unbalanced counter.

Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@gmail.com>
Link: https://lore.kernel.org/r/20210717122820.1467-2-peter.ujfalusi@gmail.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 6a503e1c
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -278,23 +278,29 @@ static int j721e_audio_startup(struct snd_pcm_substream *substream)
					  j721e_rule_rate, &priv->rate_range,
					  SNDRV_PCM_HW_PARAM_RATE, -1);

	mutex_unlock(&priv->mutex);

	if (ret)
		return ret;
		goto out;

	/* Reset TDM slots to 32 */
	ret = snd_soc_dai_set_tdm_slot(cpu_dai, 0x3, 0x3, 2, 32);
	if (ret && ret != -ENOTSUPP)
		return ret;
		goto out;

	for_each_rtd_codec_dais(rtd, i, codec_dai) {
		ret = snd_soc_dai_set_tdm_slot(codec_dai, 0x3, 0x3, 2, 32);
		if (ret && ret != -ENOTSUPP)
			return ret;
			goto out;
	}

	return 0;
	if (ret == -ENOTSUPP)
		ret = 0;
out:
	if (ret)
		domain->active--;
	mutex_unlock(&priv->mutex);

	return ret;
}

static int j721e_audio_hw_params(struct snd_pcm_substream *substream,