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

Takashi Iwai tiwai at suse.de
Fri Jan 10 11:55:33 CET 2014


[Corrected mail addresses of both Mark and Liam]

At Fri, 10 Jan 2014 13:36:35 +0800,
Nenghua Cao wrote:
> 
> From: Nenghua Cao <nhcao at 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 at 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 at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> 


More information about the Alsa-devel mailing list