spi: dw-mid: check that DMA was inited before exit
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 12 Sep 2014 12:11:58 +0000 (15:11 +0300)
committerBen Hutchings <ben@decadent.org.uk>
Sun, 14 Dec 2014 16:23:44 +0000 (16:23 +0000)
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>
drivers/spi/spi-dw-mid.c

index 66026ec..c4dd7ef 100644 (file)
@@ -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);
 }