mmc: usdhi60rol0: fix deferred probing
[ Upstream commit413db49973] The driver overrides the error codes returned by platform_get_irq_byname() to -ENODEV, so if it returns -EPROBE_DEFER, the driver will fail the probe permanently instead of the deferred probing. Switch to propagating error codes upstream. Fixes:9ec36cafe4("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-13-s.shtylyov@omp.ru Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
4a99e35c5a
commit
f2547bc716
@@ -1747,8 +1747,10 @@ static int usdhi6_probe(struct platform_device *pdev)
|
|||||||
irq_cd = platform_get_irq_byname(pdev, "card detect");
|
irq_cd = platform_get_irq_byname(pdev, "card detect");
|
||||||
irq_sd = platform_get_irq_byname(pdev, "data");
|
irq_sd = platform_get_irq_byname(pdev, "data");
|
||||||
irq_sdio = platform_get_irq_byname(pdev, "SDIO");
|
irq_sdio = platform_get_irq_byname(pdev, "SDIO");
|
||||||
if (irq_sd < 0 || irq_sdio < 0)
|
if (irq_sd < 0)
|
||||||
return -ENODEV;
|
return irq_sd;
|
||||||
|
if (irq_sdio < 0)
|
||||||
|
return irq_sdio;
|
||||||
|
|
||||||
mmc = mmc_alloc_host(sizeof(struct usdhi6_host), dev);
|
mmc = mmc_alloc_host(sizeof(struct usdhi6_host), dev);
|
||||||
if (!mmc)
|
if (!mmc)
|
||||||
|
|||||||
Reference in New Issue
Block a user