|
@@ -843,11 +843,6 @@ static int i2s_trigger(struct snd_pcm_substream *substream,
|
|
|
case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
|
|
|
local_irq_save(flags);
|
|
|
|
|
|
- if (capture)
|
|
|
- i2s_fifo(i2s, FIC_RXFLUSH);
|
|
|
- else
|
|
|
- i2s_fifo(i2s, FIC_TXFLUSH);
|
|
|
-
|
|
|
if (config_setup(i2s)) {
|
|
|
local_irq_restore(flags);
|
|
|
return -EINVAL;
|
|
@@ -870,6 +865,11 @@ static int i2s_trigger(struct snd_pcm_substream *substream,
|
|
|
else
|
|
|
i2s_txctrl(i2s, 0);
|
|
|
|
|
|
+ if (capture)
|
|
|
+ i2s_fifo(i2s, FIC_RXFLUSH);
|
|
|
+ else
|
|
|
+ i2s_fifo(i2s, FIC_TXFLUSH);
|
|
|
+
|
|
|
local_irq_restore(flags);
|
|
|
break;
|
|
|
}
|