Explorar o código

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>
Christophe JAILLET %!s(int64=8) %!d(string=hai) anos
pai
achega
30fb27239f
Modificáronse 1 ficheiros con 2 adicións e 1 borrados
  1. 2 1
      drivers/spi/spi-ti-qspi.c

+ 2 - 1
drivers/spi/spi-ti-qspi.c

@@ -714,9 +714,10 @@ static int ti_qspi_probe(struct platform_device *pdev)
 	dma_cap_set(DMA_MEMCPY, mask);
 	dma_cap_set(DMA_MEMCPY, mask);
 
 
 	qspi->rx_chan = dma_request_chan_by_mask(&mask);
 	qspi->rx_chan = dma_request_chan_by_mask(&mask);
-	if (!qspi->rx_chan) {
+	if (IS_ERR(qspi->rx_chan)) {
 		dev_err(qspi->dev,
 		dev_err(qspi->dev,
 			"No Rx DMA available, trying mmap mode\n");
 			"No Rx DMA available, trying mmap mode\n");
+		qspi->rx_chan = NULL;
 		ret = 0;
 		ret = 0;
 		goto no_dma;
 		goto no_dma;
 	}
 	}