[alsa-devel] [PATCH] ASoC: soc-pcm: Use valid condition for snd_soc_dai_digital_mute() in hw_free()

Nicolin Chen b42378 at freescale.com
Mon Dec 2 16:25:18 CET 2013

On Mon, Dec 02, 2013 at 12:19:16PM +0000, Mark Brown wrote:
> On Mon, Dec 02, 2013 at 11:05:31AM +0100, Takashi Iwai wrote:
> > Nicolin Chen wrote:
> > > The snd_soc_dai_digital_mute() here will be never executed because we only
> > > decrease codec->active in snd_soc_close(). Thus correct it.
> > A couple of minor problems by this approach:
> > - snd_soc_dai_digital_mute() will be called twice in the normal PCM
> >   close path.
> Right, it's called in close() so it's redundant to call it here most of
> the time.  On the other hand it will at least get called slightly sooner
> which is good and in the case of reconfiguration we'll mute while doing
> that - doing the mute earlier is better.
> > - In full duplex mode where both playback/capture streams share the
> >   same codec, one of the directions won't be handled correctly because
> >   codec->active is incremented/decremented twice (once for each
> >   direction).
> Indeed, the check needs to be on playback_active or capture_active
> rather than on the overall DAI.

Sir, thank you for the hint. I will reconsider about the modification.

And also thank Iwai-san for pointing out the flaws in my patch.

Best regards,
Nicolin Chen

More information about the Alsa-devel mailing list