On 8/06/23 22:45, Sergey Shtylyov wrote: > The driver overrides the error codes and IRQ0 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. IRQ0 is no longer returned by platform_get_irq(), so we now > can safely ignore it... > > Fixes: 682798a596a6 ("mmc: sdhci-spear: Handle return value of platform_get_irq") > Signed-off-by: Sergey Shtylyov <s.shtylyov@xxxxxx> Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> > --- > Changes in version 2: > - slightly reformatted the patch description. > > drivers/mmc/host/sdhci-spear.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/mmc/host/sdhci-spear.c b/drivers/mmc/host/sdhci-spear.c > index d463e2fd5b1a..c79035727b20 100644 > --- a/drivers/mmc/host/sdhci-spear.c > +++ b/drivers/mmc/host/sdhci-spear.c > @@ -65,8 +65,8 @@ static int sdhci_probe(struct platform_device *pdev) > host->hw_name = "sdhci"; > host->ops = &sdhci_pltfm_ops; > host->irq = platform_get_irq(pdev, 0); > - if (host->irq <= 0) { > - ret = -EINVAL; > + if (host->irq < 0) { > + ret = host->irq; > goto err_host; > } > host->quirks = SDHCI_QUIRK_BROKEN_ADMA;