diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2014-09-12 16:11:58 +0400 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2014-12-14 19:23:44 +0300 |
commit | 186b5538352926f7e68d0c24a228307d21ae7f17 (patch) | |
tree | 6efc85043cabbb1c66a3e44ff95db0eee54f8e43 /drivers/spi/spi-dw-mid.c | |
parent | 55bddf3a500591c6d7b8ab26a6d5ceec5a035e5a (diff) | |
download | linux-186b5538352926f7e68d0c24a228307d21ae7f17.tar.xz |
spi: dw-mid: check that DMA was inited before exit
commit 63d84b1a46957b3ecc56af8087220c0df42e0ef2 upstream.
commit fb57862ead652454ceeb659617404c5f13bc34b5 upstream.
If the driver was compiled with DMA support, but DMA channels weren't acquired
by some reason, mid_spi_dma_exit() will crash the kernel.
Fixes: 7063c0d942a1 (spi/dw_spi: add DMA support)
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'drivers/spi/spi-dw-mid.c')
-rw-r--r-- | drivers/spi/spi-dw-mid.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/spi/spi-dw-mid.c b/drivers/spi/spi-dw-mid.c index 66026ecf023f..c4dd7ef59855 100644 --- a/drivers/spi/spi-dw-mid.c +++ b/drivers/spi/spi-dw-mid.c @@ -88,6 +88,8 @@ err_exit: static void mid_spi_dma_exit(struct dw_spi *dws) { + if (!dws->dma_inited) + return; dma_release_channel(dws->txchan); dma_release_channel(dws->rxchan); } |