summaryrefslogtreecommitdiff
path: root/drivers/dma
diff options
context:
space:
mode:
authorDong Aisheng <b29396@freescale.com>2011-07-19 12:09:56 +0800
committerJason Liu <r64343@freescale.com>2012-07-20 13:19:55 +0800
commit4b3949ab5c3d05213d4a3a94f1cfdf5ac295080e (patch)
treee6da8939a7f6f384d9673be5aecadb6c2217111c /drivers/dma
parent98c780c7125b502fc6d46a9b80657756bf7c8927 (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.c1
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);