diff mbox

ASoC: kirkwood: Fix erroneous double output while playing

Message ID 20131125201905.0d009921@armhf (mailing list archive)
State New, archived
Headers show

Commit Message

Jean-Francois Moine Nov. 25, 2013, 7:19 p.m. UTC
This patch fixes the setting of the register KIRKWOOD_PLAYCTL which did
always streaming on both I2S and SPDIF, ignoring the DAI ID.

The bug was introduced by the commit 75b9b65ee5a
 "ASoC: kirkwood: add S/PDIF support"

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
---
 sound/soc/kirkwood/kirkwood-i2s.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Comments

Mark Brown Nov. 27, 2013, 5:16 p.m. UTC | #1
On Mon, Nov 25, 2013 at 08:19:05PM +0100, Jean-Francois Moine wrote:
> This patch fixes the setting of the register KIRKWOOD_PLAYCTL which did
> always streaming on both I2S and SPDIF, ignoring the DAI ID.

Applied, thanks.

> The bug was introduced by the commit 75b9b65ee5a
>  "ASoC: kirkwood: add S/PDIF support"

There's the "Fixes:" tag for that now.
diff mbox

Patch

diff --git a/sound/soc/kirkwood/kirkwood-i2s.c b/sound/soc/kirkwood/kirkwood-i2s.c
index d34d917..b27f826 100644
--- a/sound/soc/kirkwood/kirkwood-i2s.c
+++ b/sound/soc/kirkwood/kirkwood-i2s.c
@@ -244,15 +244,15 @@  static int kirkwood_i2s_play_trigger(struct snd_pcm_substream *substream,
 				   ctl);
 	}
 
-	if (dai->id == 0)
-		ctl &= ~KIRKWOOD_PLAYCTL_SPDIF_EN;	/* i2s */
-	else
-		ctl &= ~KIRKWOOD_PLAYCTL_I2S_EN;	/* spdif */
-
 	switch (cmd) {
 	case SNDRV_PCM_TRIGGER_START:
 		/* configure */
 		ctl = priv->ctl_play;
+		if (dai->id == 0)
+			ctl &= ~KIRKWOOD_PLAYCTL_SPDIF_EN;	/* i2s */
+		else
+			ctl &= ~KIRKWOOD_PLAYCTL_I2S_EN;	/* spdif */
+
 		value = ctl & ~KIRKWOOD_PLAYCTL_ENABLE_MASK;
 		writel(value, priv->io + KIRKWOOD_PLAYCTL);