ALSA: Au1xpsc: psc not disabled when TX is idle
authorRoel Kluin <roel.kluin@gmail.com>
Tue, 15 Jul 2008 13:07:19 +0000 (15:07 +0200)
committerTakashi Iwai <tiwai@suse.de>
Tue, 15 Jul 2008 13:08:28 +0000 (15:08 +0200)
TX idleness isn't tested, but RX twice. PSC is not disabled when TX is idle

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Acked-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/soc/au1x/psc-i2s.c

index ba4b5c199f21b9fa97aa62cf0f6166309e00a901..9384702c7ebd7c09f0df6d4e25f9161ac854cc37 100644 (file)
@@ -231,7 +231,7 @@ static int au1xpsc_i2s_stop(struct au1xpsc_audio_data *pscdata, int stype)
 
        /* if both TX and RX are idle, disable PSC */
        stat = au_readl(I2S_STAT(pscdata));
-       if (!(stat & (PSC_I2SSTAT_RB | PSC_I2SSTAT_RB))) {
+       if (!(stat & (PSC_I2SSTAT_TB | PSC_I2SSTAT_RB))) {
                au_writel(0, I2S_CFG(pscdata));
                au_sync();
                au_writel(PSC_CTRL_SUSPEND, PSC_CTRL(pscdata));