summaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorlars <lars@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-03-22 18:57:50 +0000
committerlars <lars@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-03-22 18:57:50 +0000
commit113249c0a943849326e437dedcd62b2128bc06b1 (patch)
treeff9dc99d87947fc7254643551c5f717bf11f115d /target
parent124c6d16d7692446d6ff6bbae6f10f32eafcc66e (diff)
[xburst] sound jz4740_pcm: Set dma channel to NULL after it has been freed,
because hw_free can be called multiple times aswell. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20373 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target')
-rw-r--r--target/linux/xburst/files-2.6.32/sound/soc/jz4740/jz4740-pcm.c4
1 files changed, 3 insertions, 1 deletions
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 4a4de195a..3ccc652a0 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
@@ -136,8 +136,10 @@ static int jz4740_pcm_hw_free(struct snd_pcm_substream *substream)
struct jz4740_runtime_data *prtd = substream->runtime->private_data;
snd_pcm_set_runtime_buffer(substream, NULL);
- if (prtd->dma)
+ if (prtd->dma) {
jz4740_dma_free(prtd->dma);
+ prtd->dma = NULL;
+ }
return 0;
}