spi: spi-fsl-dspi: Avoid NULL pointer in dspi_slave_abort for non-DMA mode
authorVladimir Oltean <vladimir.oltean@nxp.com>
Wed, 18 Mar 2020 00:15:58 +0000 (02:15 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 18 Mar 2020 22:44:58 +0000 (22:44 +0000)
The driver does not create the dspi->dma structure unless operating in
DSPI_DMA_MODE, so it makes sense to check for that.

Fixes: f4b323905d8b ("spi: Introduce dspi_slave_abort() function for NXP's dspi SPI driver")
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Tested-by: Michael Walle <michael@walle.cc>
Link: https://lore.kernel.org/r/20200318001603.9650-8-olteanv@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-fsl-dspi.c

index b65c21d..81e22b6 100644 (file)
@@ -1192,8 +1192,10 @@ static int dspi_slave_abort(struct spi_master *master)
         * Terminate all pending DMA transactions for the SPI working
         * in SLAVE mode.
         */
-       dmaengine_terminate_sync(dspi->dma->chan_rx);
-       dmaengine_terminate_sync(dspi->dma->chan_tx);
+       if (dspi->devtype_data->trans_mode == DSPI_DMA_MODE) {
+               dmaengine_terminate_sync(dspi->dma->chan_rx);
+               dmaengine_terminate_sync(dspi->dma->chan_tx);
+       }
 
        /* Clear the internal DSPI RX and TX FIFO buffers */
        regmap_update_bits(dspi->regmap, SPI_MCR,