summaryrefslogtreecommitdiffstats
path: root/drivers/spi
diff options
context:
space:
mode:
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>2017-02-18 10:42:02 +0100
committerMark Brown <broonie@kernel.org>2017-02-19 17:27:35 +0100
commit7abfe04c47d97243a7aeeb8fe211a15687bff67f (patch)
tree6e8375fcf04ade1c5dd44c3936146ac196b4658c /drivers/spi
parentspi: ti-qspi: revise ti_qspi_probe() failure flow (diff)
downloadlinux-7abfe04c47d97243a7aeeb8fe211a15687bff67f.tar.xz
linux-7abfe04c47d97243a7aeeb8fe211a15687bff67f.zip
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>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi-ti-qspi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/spi/spi-ti-qspi.c b/drivers/spi/spi-ti-qspi.c
index e784d0f64dc1..ad76a44fee6f 100644
--- a/drivers/spi/spi-ti-qspi.c
+++ b/drivers/spi/spi-ti-qspi.c
@@ -718,9 +718,10 @@ static int ti_qspi_probe(struct platform_device *pdev)
dma_cap_set(DMA_MEMCPY, mask);
qspi->rx_chan = dma_request_chan_by_mask(&mask);
- if (!qspi->rx_chan) {
+ if (IS_ERR(qspi->rx_chan)) {
dev_err(qspi->dev,
"No Rx DMA available, trying mmap mode\n");
+ qspi->rx_chan = NULL;
ret = 0;
goto no_dma;
}