Commit de0096d8 authored by Martin Fuzzey's avatar Martin Fuzzey Committed by Sascha Hauer

mxc : Clean up properly when imx_dma_free() used without imx_dma_disable()

The sequence
	imx_dma_request()
	imx_dma_enable()
	imx_dma_free()
left the dma channel in_use mode and did not release the timer.
Signed-off-by: default avatarMartin Fuzzey <mfuzzey@gmail.com>
Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
parent b4348f32
...@@ -737,10 +737,7 @@ void imx_dma_free(int channel) ...@@ -737,10 +737,7 @@ void imx_dma_free(int channel)
local_irq_save(flags); local_irq_save(flags);
/* Disable interrupts */ /* Disable interrupts */
__raw_writel(__raw_readl(DMA_BASE + DMA_DIMR) | (1 << channel), imx_dma_disable(channel);
DMA_BASE + DMA_DIMR);
__raw_writel(__raw_readl(DMA_BASE + DMA_CCR(channel)) & ~CCR_CEN,
DMA_BASE + DMA_CCR(channel));
imxdma->name = NULL; imxdma->name = NULL;
#ifdef CONFIG_ARCH_MX2 #ifdef CONFIG_ARCH_MX2
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment