diff options
author | Christophe JAILLET <christophe.jaillet@wanadoo.fr> | 2017-02-18 04:42:02 -0500 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2017-02-19 11:11:56 -0500 |
commit | 30fb27239f987c53429f24297f5d46e28d0e16ed (patch) | |
tree | b0f8625c61b7f7d1da268bcb18162511b824fcf2 | |
parent | 582c97f6868cf70720a17d2421d317333f3ad597 (diff) |
spi: spi-ti-qspi: Fix error handling
'dma_request_chan_by_mask()' can not return NULL.
Try to keep the logic in 'no_dma:' by resetting 'qspi->rx_chan' in case
of error.
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | drivers/spi/spi-ti-qspi.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/spi/spi-ti-qspi.c b/drivers/spi/spi-ti-qspi.c index ec6fb09e2e17..0fefa6423ff4 100644 --- a/drivers/spi/spi-ti-qspi.c +++ b/drivers/spi/spi-ti-qspi.c | |||
@@ -714,9 +714,10 @@ static int ti_qspi_probe(struct platform_device *pdev) | |||
714 | dma_cap_set(DMA_MEMCPY, mask); | 714 | dma_cap_set(DMA_MEMCPY, mask); |
715 | 715 | ||
716 | qspi->rx_chan = dma_request_chan_by_mask(&mask); | 716 | qspi->rx_chan = dma_request_chan_by_mask(&mask); |
717 | if (!qspi->rx_chan) { | 717 | if (IS_ERR(qspi->rx_chan)) { |
718 | dev_err(qspi->dev, | 718 | dev_err(qspi->dev, |
719 | "No Rx DMA available, trying mmap mode\n"); | 719 | "No Rx DMA available, trying mmap mode\n"); |
720 | qspi->rx_chan = NULL; | ||
720 | ret = 0; | 721 | ret = 0; |
721 | goto no_dma; | 722 | goto no_dma; |
722 | } | 723 | } |