Skip to content

Commit

Permalink
ASoC: ti: j721e-evm: Fix unbalanced domain activity tracking during s…
Browse files Browse the repository at this point in the history
…tartup

[ Upstream commit 78d2a05 ]

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

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@gmail.com>
Link: https://lore.kernel.org/r/20210717122820.1467-2-peter.ujfalusi@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
ujfalusi authored and gregkh committed Aug 8, 2021
1 parent a35d559 commit f248077
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions sound/soc/ti/j721e-evm.c
Expand Up @@ -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,
Expand Down

0 comments on commit f248077

Please sign in to comment.