diff --git a/target/linux/xburst/files-2.6.32/sound/soc/jz4740/jz4740-pcm.c b/target/linux/xburst/files-2.6.32/sound/soc/jz4740/jz4740-pcm.c index c71c5b48b5..4a4de195a8 100644 --- a/target/linux/xburst/files-2.6.32/sound/soc/jz4740/jz4740-pcm.c +++ b/target/linux/xburst/files-2.6.32/sound/soc/jz4740/jz4740-pcm.c @@ -105,10 +105,11 @@ static int jz4740_pcm_hw_params(struct snd_pcm_substream *substream, struct jz4740_pcm_config *config; config = rtd->dai->cpu_dai->dma_data; - if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { - prtd->dma = jz4740_dma_request(substream, "PCM Playback"); - } else { - prtd->dma = jz4740_dma_request(substream, "PCM Capture"); + if (!prtd->dma) { + if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) + prtd->dma = jz4740_dma_request(substream, "PCM Playback"); + else + prtd->dma = jz4740_dma_request(substream, "PCM Capture"); } if (!prtd->dma)