summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSergey Shtylyov <s.shtylyov@omp.ru>2023-06-17 23:36:16 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-06-28 10:14:20 +0200
commitf98f9c182558ba3346aad09313b3e2708e8b85d6 (patch)
tree4d82eff068e7b91ad9dd1b434939634088be13fc
parent28781c64f1a190501b0381698ad630a63a5bd550 (diff)
downloadlinux-stable-f98f9c182558ba3346aad09313b3e2708e8b85d6.tar.gz
linux-stable-f98f9c182558ba3346aad09313b3e2708e8b85d6.tar.bz2
linux-stable-f98f9c182558ba3346aad09313b3e2708e8b85d6.zip
mmc: omap_hsmmc: fix deferred probing
[ Upstream commit fb51b74a57859b707c3e8055ed0c25a7ca4f6a29 ] The driver overrides the error codes returned by platform_get_irq() to -ENXIO, so if it returns -EPROBE_DEFER, the driver will fail the probe permanently instead of the deferred probing. Switch to propagating the error codes upstream. Fixes: 9ec36cafe43b ("of/irq: do irq resolution in platform_get_irq") Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru> Link: https://lore.kernel.org/r/20230617203622.6812-7-s.shtylyov@omp.ru Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/mmc/host/omap_hsmmc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index ea12712bd2c3..36e8f0be7051 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -2023,9 +2023,11 @@ static int omap_hsmmc_probe(struct platform_device *pdev)
}
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- irq = platform_get_irq(pdev, 0);
- if (res == NULL || irq < 0)
+ if (!res)
return -ENXIO;
+ irq = platform_get_irq(pdev, 0);
+ if (irq < 0)
+ return irq;
base = devm_ioremap_resource(&pdev->dev, res);
if (IS_ERR(base))