Commit 6bf66b1c authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Mark Brown

ASoC: rsnd: tidyup ssi->usrcnt counter check in hw_params

ssi->usrcnt will be updated on snd_soc_dai_ops::trigger,
but snd_pcm_ops::hw_params will be called *before* it.
Thus, ssi->usrcnt is still 0 when 1st call.
rsnd_ssi_hw_params() needs to check its called count, this means
trigger should be if (ssi->usrcnt) instead of if (ssi->usrcnt > 1).
Reported-by: default avatarNguyen Viet Dung <nv-dung@jinso.co.jp>
Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 3ce2959d
...@@ -417,11 +417,14 @@ static int rsnd_ssi_hw_params(struct rsnd_mod *mod, ...@@ -417,11 +417,14 @@ static int rsnd_ssi_hw_params(struct rsnd_mod *mod,
int chan = params_channels(params); int chan = params_channels(params);
/* /*
* Already working. * snd_pcm_ops::hw_params will be called *before*
* It will happen if SSI has parent/child connection. * snd_soc_dai_ops::trigger. Thus, ssi->usrcnt is 0
* in 1st call.
*/ */
if (ssi->usrcnt > 1) { if (ssi->usrcnt) {
/* /*
* Already working.
* It will happen if SSI has parent/child connection.
* it is error if child <-> parent SSI uses * it is error if child <-> parent SSI uses
* different channels. * different channels.
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment