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: Nguyen Viet Dung <nv-dung@jinso.co.jp> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
3ce2959d16
commit
6bf66b1c35
@ -417,11 +417,14 @@ static int rsnd_ssi_hw_params(struct rsnd_mod *mod,
|
||||
int chan = params_channels(params);
|
||||
|
||||
/*
|
||||
* Already working.
|
||||
* It will happen if SSI has parent/child connection.
|
||||
* snd_pcm_ops::hw_params will be called *before*
|
||||
* 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
|
||||
* different channels.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user