27 Feb
2020
27 Feb
'20
2:38 a.m.
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