[alsa-devel] patch 1/1: ASoC, DMA crash with application- resolved

naveenkrishna.ch naveenkrishna.ch at gmail.com
Sun Dec 21 08:22:43 CET 2008


Hi ALSA SOC,

I am using a OMAP3 + TWL4030 combination with ASoC

in the sound/soc/omap/omap-pcm.c
DMA channels are being freed after unlinking in the omap_pcm_hw_free
function

Which is causing a crash during applications
So, stopping the DMA channels before unlinking resolves the issue.

here is the patch that solves the issue

diff --git a/sound/soc/omap/omap-pcm.c b/sound/soc/omap/omap-pcm.c
index e9084fd..679e384 100644
--- a/sound/soc/omap/omap-pcm.c
+++ b/sound/soc/omap/omap-pcm.c
@@ -116,6 +116,7 @@ static int omap_pcm_hw_free(struct snd_pcm_substream
*substream)
        if (prtd->dma_data == NULL)
                return 0;

+       omap_stop_dma(prtd->dma_ch);
        if (!cpu_is_omap1510())
                omap_dma_unlink_lch(prtd->dma_ch, prtd->dma_ch);
        omap_free_dma(prtd->dma_ch);


Is this ok or is there any better way out
-- 
Thanks,

(: Naveen Krishna Ch :)


More information about the Alsa-devel mailing list