spi: spi-geni-qcom: correctly handle -EPROBE_DEFER from dma_request_chan()
authorNeil Armstrong <neil.armstrong@linaro.org>
Thu, 15 Jun 2023 12:51:45 +0000 (14:51 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 19 Jun 2023 11:59:48 +0000 (12:59 +0100)
Now spi_geni_grab_gpi_chan() errors are correctly reported, the
-EPROBE_DEFER error should be returned from probe in case the
GPI dma driver is built as module and/or not probed yet.

Fixes: b59c122484ec ("spi: spi-geni-qcom: Add support for GPI dma")
Fixes: 6532582c353f ("spi: spi-geni-qcom: fix error handling in spi_geni_grab_gpi_chan()")
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20230615-topic-sm8550-upstream-fix-spi-geni-qcom-probe-v2-1-670c3d9e8c9c@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-geni-qcom.c

index e423efc..08672a9 100644 (file)
@@ -646,6 +646,8 @@ static int spi_geni_init(struct spi_geni_master *mas)
                        geni_se_select_mode(se, GENI_GPI_DMA);
                        dev_dbg(mas->dev, "Using GPI DMA mode for SPI\n");
                        break;
+               } else if (ret == -EPROBE_DEFER) {
+                       goto out_pm;
                }
                /*
                 * in case of failure to get gpi dma channel, we can still do the