diff options
author | Dong Aisheng <b29396@freescale.com> | 2011-07-19 12:09:56 +0800 |
---|---|---|
committer | Jason Liu <r64343@freescale.com> | 2012-01-19 12:41:25 +0800 |
commit | ae285fc5c5f9ed3c940e75ef818e7141d04a4031 (patch) | |
tree | 0b3346a694a855486736e6f351f29342e3ae7b9c /drivers/dma | |
parent | 5db7b489a4bc6acd073287a7c26623649288cf51 (diff) |
ARM: mxs-dma: reset after disable channel
We met some channels in abnormal state after disable.
Reset it to get a clean state.
Signed-off-by: Dong Aisheng <b29396@freescale.com>
Cc: Vinod Koul <vinod.koul@intel.com>
Cc: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers/dma')
-rw-r--r-- | drivers/dma/mxs-dma.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/dma/mxs-dma.c b/drivers/dma/mxs-dma.c index 221b6f3ebc7d..c303f3497c8e 100644 --- a/drivers/dma/mxs-dma.c +++ b/drivers/dma/mxs-dma.c @@ -540,6 +540,7 @@ static int mxs_dma_control(struct dma_chan *chan, enum dma_ctrl_cmd cmd, switch (cmd) { case DMA_TERMINATE_ALL: mxs_dma_disable_chan(mxs_chan); + mxs_dma_reset_chan(mxs_chan); break; case DMA_PAUSE: mxs_dma_pause_chan(mxs_chan); |