diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2015-03-02 19:15:58 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-03-06 12:23:26 +0100 |
commit | c9dafb27c84412fe4b17c3b94cc4ffeef5df1833 (patch) | |
tree | 590ab0ccdb463745a00543117dcc9612472b70b1 /drivers/spi/spi-dw-mid.c | |
parent | spi: dw: revisit FIFO size detection again (diff) | |
download | linux-c9dafb27c84412fe4b17c3b94cc4ffeef5df1833.tar.xz linux-c9dafb27c84412fe4b17c3b94cc4ffeef5df1833.zip |
spi: dw-mid: avoid potential NULL dereference
When DMA descriptor allocation fails we should not try to assign any fields in
the bad descriptor. The patch adds the necessary checks for that.
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>
Cc: stable@vger.kernel.org
Diffstat (limited to 'drivers/spi/spi-dw-mid.c')
-rw-r--r-- | drivers/spi/spi-dw-mid.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/spi/spi-dw-mid.c b/drivers/spi/spi-dw-mid.c index a0197fd4e95c..3ce39d10fafb 100644 --- a/drivers/spi/spi-dw-mid.c +++ b/drivers/spi/spi-dw-mid.c @@ -139,6 +139,9 @@ static struct dma_async_tx_descriptor *dw_spi_dma_prepare_tx(struct dw_spi *dws) 1, DMA_MEM_TO_DEV, DMA_PREP_INTERRUPT | DMA_CTRL_ACK); + if (!txdesc) + return NULL; + txdesc->callback = dw_spi_dma_tx_done; txdesc->callback_param = dws; @@ -184,6 +187,9 @@ static struct dma_async_tx_descriptor *dw_spi_dma_prepare_rx(struct dw_spi *dws) 1, DMA_DEV_TO_MEM, DMA_PREP_INTERRUPT | DMA_CTRL_ACK); + if (!rxdesc) + return NULL; + rxdesc->callback = dw_spi_dma_rx_done; rxdesc->callback_param = dws; |