[xburst] sound jz4740_pcm: Don't request dma channel mor then once.

It is possible that the hw_params callback is called multiple times when using
the oss emulation layer. Thus we need to check whether the dma channel has
already been requested otherwise we'll end up with all dma channels being
requested by sound driver.


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20369 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Lars-Peter Clausen 2010-03-22 15:22:26 +00:00
parent 968a0358e2
commit 73c0188609
1 changed files with 5 additions and 4 deletions

View 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)