Skip to content

Commit

Permalink
mxc : Clean up properly when imx_dma_free() used without imx_dma_disa…
Browse files Browse the repository at this point in the history
…ble()

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>
  • Loading branch information
Martin Fuzzey authored and Sascha Hauer committed May 5, 2009
1 parent b4348f3 commit de0096d
Showing 1 changed file with 1 addition and 4 deletions.
5 changes: 1 addition & 4 deletions arch/arm/plat-mxc/dma-mx1-mx2.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit de0096d

Please sign in to comment.