Re: [alsa-devel] [PATCH] ASoC: dpcm: don't do hw_param when BE has done hw_param

Takashi Iwai
2014-01-10T10:55:38Z

[Corrected mail addresses of both Mark and Liam]

At Fri, 10 Jan 2014 13:36:35 +0800,
Nenghua Cao wrote:
>
> From: Nenghua Cao <nhcao@marvell.com>
>
> It fixes the following case:
> Two FEs connects the same BE; FE1 & BE path has been opened and hw_paramed.
> At this momment, FE2 & BE path is being opened and hw_paramed. The BE
> dai will do hw_param again even if it has done hw_param. It is not
> reasonable.
> FE1------------>BE
> FE2-------------^

What happens if FE2 tries to set up an incompatible hw_params?
(Through a quick glance, it won't work properly well, too, though...)

Takashi

>
> Signed-off-by: Nenghua Cao <nhcao@marvell.com>
> ---
> sound/soc/soc-pcm.c | 1 -
> 1 files changed, 0 insertions(+), 1 deletions(-)
>
> diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
> index 891b9a9..ec07e37 100644
> --- a/sound/soc/soc-pcm.c
> +++ b/sound/soc/soc-pcm.c
> @@ -1339,7 +1339,6 @@ static int dpcm_be_dai_hw_params(struct snd_soc_pcm_runtime *fe, int stream)
> continue;
>
> if ((be->dpcm[stream].state != SND_SOC_DPCM_STATE_OPEN) &&
> - (be->dpcm[stream].state != SND_SOC_DPCM_STATE_HW_PARAMS) &&
> (be->dpcm[stream].state != SND_SOC_DPCM_STATE_HW_FREE))
> continue;
>
> --
> 1.7.0.4
>
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>