[PATCH v2 6/8] ASoC: soc-pcm: check DAI's activity more simply

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Thu Feb 27 03:38:41 CET 2020


Hi Mark

> @@ -1225,15 +1224,10 @@ static int soc_pcm_hw_free(struct snd_pcm_substream *substream)
>  	}
>  
>  	/* apply codec digital mute */
> -	for_each_rtd_codec_dai(rtd, i, codec_dai) {
> -		int playback_active = codec_dai->stream_active[SNDRV_PCM_STREAM_PLAYBACK];
> -		int capture_active  = codec_dai->stream_active[SNDRV_PCM_STREAM_CAPTURE];
> -
> -		if ((playback && playback_active == 1) ||
> -		    (!playback && capture_active == 1))
> +	for_each_rtd_codec_dai(rtd, i, codec_dai)
> +		if (codec_dai->active)
>  			snd_soc_dai_digital_mute(codec_dai, 1,
>  						 substream->stream);

I noticed that it calls snd_soc_dai_digital_mute(xxx, substream->stream).
This means, it want to call mute for each Playback/Capture "last user".
This patch was total wrong.

Mark, [6/8] is wrong. maybe I need to reconsider [7/8].
Can you please ignore these ?
Please let me know if you need v3

Thank you for your help !!
Best regards
---
Kuninori Morimoto


More information about the Alsa-devel mailing list