mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 05:32:00 +00:00
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: Martin Fuzzey <mfuzzey@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
b4348f32da
commit
de0096d809
@ -737,10 +737,7 @@ void imx_dma_free(int channel)
|
||||
|
||||
local_irq_save(flags);
|
||||
/* Disable interrupts */
|
||||
__raw_writel(__raw_readl(DMA_BASE + DMA_DIMR) | (1 << channel),
|
||||
DMA_BASE + DMA_DIMR);
|
||||
__raw_writel(__raw_readl(DMA_BASE + DMA_CCR(channel)) & ~CCR_CEN,
|
||||
DMA_BASE + DMA_CCR(channel));
|
||||
imx_dma_disable(channel);
|
||||
imxdma->name = NULL;
|
||||
|
||||
#ifdef CONFIG_ARCH_MX2
|
||||
|
Loading…
Reference in New Issue
Block a user