diff options
Diffstat (limited to 'sound/soc/samsung/dma.c')
-rw-r--r-- | sound/soc/samsung/dma.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sound/soc/samsung/dma.c b/sound/soc/samsung/dma.c index a7178ed..63c475e 100644 --- a/sound/soc/samsung/dma.c +++ b/sound/soc/samsung/dma.c @@ -222,11 +222,19 @@ static int dma_hw_free(struct snd_pcm_substream *substream) /* TODO - do we need to ensure DMA flushed */ snd_pcm_set_runtime_buffer(substream, NULL); +#ifdef CONFIG_SLP_WIP + spin_lock(&prtd->lock); +#endif + if (prtd->params) { s3c2410_dma_free(prtd->params->channel, prtd->params->client); prtd->params = NULL; } +#ifdef CONFIG_SLP_WIP + spin_unlock(&prtd->lock); +#endif + return 0; } |