[xburst] sound jz4740_pcm: Don't request dma channel mor then once.
[openwrt-10.03/.git] / target / linux / xburst / files-2.6.32 / sound / soc / jz4740 / jz4740-pcm.c
index c71c5b48b555e42fe531a4c5bf8e3c5fc5542398..4a4de195a879e7bb3d592ea8066a074b530ca60e 100644 (file)
@@ -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)