[alsa-devel] [PATCH] ASoC: soc-pcm: Only do snd_soc_dai_digital_mute() in hw_free()
Nicolin Chen
b42378 at freescale.com
Tue Dec 3 16:26:06 CET 2013
On Tue, Dec 03, 2013 at 03:04:23PM +0000, Mark Brown wrote:
> On Tue, Dec 03, 2013 at 05:16:06PM +0800, Nicolin Chen wrote:
>
> > @@ -689,7 +684,7 @@ static int soc_pcm_hw_free(struct snd_pcm_substream *substream)
> > struct snd_soc_platform *platform = rtd->platform;
> > struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
> > struct snd_soc_dai *codec_dai = rtd->codec_dai;
> > - struct snd_soc_codec *codec = rtd->codec;
> > + bool playback = substream->stream == SNDRV_PCM_STREAM_PLAYBACK ? 1 : 0;
>
> Please don't use the ternery operator, you could've just used the result
> of the comparison directly here.
Oh, a bad habit. Thank you for teaching me this.
>
> > mutex_lock_nested(&rtd->pcm_mutex, rtd->pcm_subclass);
> >
> > @@ -707,7 +702,8 @@ static int soc_pcm_hw_free(struct snd_pcm_substream *substream)
> > }
> >
> > /* apply codec digital mute */
> > - if (!codec->active)
> > + if ((playback && codec_dai->playback_active == 1) ||
> > + (!playback && codec_dai->capture_active == 1))
> > snd_soc_dai_digital_mute(codec_dai, 1, substream->stream);
>
> This is a bit confusing to read due to the strange indentation (the
> second line is massively indented with respect to the first line for
> some reason). This hunk also ought to be split out as a separate patch
> since it's a bug fix.
I'll refine the indentation and split the patch into two.
Thank you indeed.
Nicolin Chen
More information about the Alsa-devel
mailing list