| From fb57862ead652454ceeb659617404c5f13bc34b5 Mon Sep 17 00:00:00 2001 |
| From: Andy Shevchenko <andriy.shevchenko@linux.intel.com> |
| Date: Fri, 12 Sep 2014 15:11:58 +0300 |
| Subject: spi: dw-mid: check that DMA was inited before exit |
| |
| From: Andy Shevchenko <andriy.shevchenko@linux.intel.com> |
| |
| 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> |
| |
| --- |
| drivers/spi/spi-dw-mid.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/drivers/spi/spi-dw-mid.c |
| +++ b/drivers/spi/spi-dw-mid.c |
| @@ -89,6 +89,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); |
| } |