mmc: sdhci-acpi: fix deferred probing
authorSergey Shtylyov <s.shtylyov@omp.ru>
Sat, 17 Jun 2023 20:36:18 +0000 (23:36 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 28 Jun 2023 09:12:30 +0000 (11:12 +0200)
[ Upstream commit b465dea5e1540c7d7b5211adaf94926980d3014b ]

The driver overrides the error codes returned by platform_get_irq() to
-EINVAL, 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: 1b7ba57ecc86 ("mmc: sdhci-acpi: Handle return value of platform_get_irq")
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/20230617203622.6812-9-s.shtylyov@omp.ru
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mmc/host/sdhci-acpi.c

index 4cca4c9..b917060 100644 (file)
@@ -829,7 +829,7 @@ static int sdhci_acpi_probe(struct platform_device *pdev)
        host->ops       = &sdhci_acpi_ops_dflt;
        host->irq       = platform_get_irq(pdev, 0);
        if (host->irq < 0) {
-               err = -EINVAL;
+               err = host->irq;
                goto err_free;
        }