[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 11:39:48 CET 2013
On Mon, Dec 02, 2013 at 11:05:31AM +0100, Takashi Iwai wrote:
> At Mon, 2 Dec 2013 17:34:34 +0800,
> 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.
>
> - 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).
>
Thank you for the comments. I didn't look at the whole board.
Please Drop this patch.
Thank you.
Nicolin Chen
>
> Takashi
>
> >
> > Signed-off-by: Nicolin Chen <b42378 at freescale.com>
> > ---
> > sound/soc/soc-pcm.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
> > index 22af038..7d19117 100644
> > --- a/sound/soc/soc-pcm.c
> > +++ b/sound/soc/soc-pcm.c
> > @@ -689,7 +689,7 @@ static int soc_pcm_hw_free(struct snd_pcm_substream *substream)
> > }
> >
> > /* apply codec digital mute */
> > - if (!codec->active)
> > + if (codec->active == 1)
> > snd_soc_dai_digital_mute(codec_dai, 1, substream->stream);
> >
> > /* free any machine hw params */
> > --
> > 1.8.4
> >
> >
>
More information about the Alsa-devel
mailing list