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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 28 Jun 2023 09:12:26 +0000 (11:12 +0200)
[ Upstream commit 9d7054fb3ac2e8d252aae1268f20623f244e644f ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/spi/spi-geni-qcom.c

index 4e83cc5..dd15818 100644 (file)
@@ -595,6 +595,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 dma channel, we can still do the