summaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host
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:15:29 +0200
commit10af6fcd78cb0bedf605ebcce1d0c9028ccba866 (patch)
tree89221535fec91766b5cd61e8e99771ca50eab40b /drivers/mmc/host
parent90868d27a47508dfbda02b0b1b2b143874381b02 (diff)
downloadlinux-stable-10af6fcd78cb0bedf605ebcce1d0c9028ccba866.tar.gz
linux-stable-10af6fcd78cb0bedf605ebcce1d0c9028ccba866.tar.bz2
linux-stable-10af6fcd78cb0bedf605ebcce1d0c9028ccba866.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>
Diffstat (limited to 'drivers/mmc/host')
-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 0135693afa15..881d1de4a563 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -2006,9 +2006,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))