]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ARM: mxs-dma: reset after disable channel
authorDong Aisheng <b29396@freescale.com>
Tue, 19 Jul 2011 04:09:56 +0000 (12:09 +0800)
committerOliver Wendt <ow@karo-electronics.de>
Mon, 30 Sep 2013 12:10:32 +0000 (14:10 +0200)
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>
drivers/dma/mxs-dma.c

index 221b6f3ebc7dff1bb761227650fc25778582e85a..c303f3497c8e835867317a38483a181e5bd85011 100644 (file)
@@ -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);