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.
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) ||
snd_soc_dai_digital_mute(codec_dai, 1, substream->stream);(!playback && codec_dai->capture_active == 1))
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.