summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2014-09-18 20:08:53 +0300
committerJiri Slaby <jslaby@suse.cz>2014-10-31 15:11:25 +0100
commit3e3bef45db6a9b5791b61a8d24d69ceb753a29e1 (patch)
treef0864f579b08787c977269f4c262c7a9f4123b7f
parent478a5f81defe61a89083f3b719e142f250427098 (diff)
spi: dw-mid: terminate ongoing transfers at exit
commit 8e45ef682cb31fda62ed4eeede5d9745a0a1b1e2 upstream. Do full clean up at exit, means terminate all ongoing DMA transfers. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
-rw-r--r--drivers/spi/spi-dw-mid.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/spi/spi-dw-mid.c b/drivers/spi/spi-dw-mid.c
index b8ac40c8a22d..0791c92e8c50 100644
--- a/drivers/spi/spi-dw-mid.c
+++ b/drivers/spi/spi-dw-mid.c
@@ -91,7 +91,11 @@ static void mid_spi_dma_exit(struct dw_spi *dws)
{
if (!dws->dma_inited)
return;
+
+ dmaengine_terminate_all(dws->txchan);
dma_release_channel(dws->txchan);
+
+ dmaengine_terminate_all(dws->rxchan);
dma_release_channel(dws->rxchan);
}