Message ID | 20230608194519.10665-3-s.shtylyov@omp.ru (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2,01/12] mmc: bcm2835: fix deferred probing | expand |
On 08/06/2023 21: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: cbcaac6d7dd2 ("mmc: meson-gx-mmc: Fix platform_get_irq's error checking") > Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru> > --- > Changes in version 2: > - updated the fix due to the surrounding code change; > - refreshed the patch; > - removed stray newline in the Fixes: tag; > - slightly reformatted the patch description. > > drivers/mmc/host/meson-gx-mmc.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c > index b8514d9d5e73..75f97dce7ef3 100644 > --- a/drivers/mmc/host/meson-gx-mmc.c > +++ b/drivers/mmc/host/meson-gx-mmc.c > @@ -1192,8 +1192,8 @@ static int meson_mmc_probe(struct platform_device *pdev) > return PTR_ERR(host->regs); > > host->irq = platform_get_irq(pdev, 0); > - if (host->irq <= 0) > - return -EINVAL; > + if (host->irq < 0) > + return host->irq; > > cd_irq = platform_get_irq_optional(pdev, 1); > mmc_gpio_set_cd_irq(mmc, cd_irq); Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c index b8514d9d5e73..75f97dce7ef3 100644 --- a/drivers/mmc/host/meson-gx-mmc.c +++ b/drivers/mmc/host/meson-gx-mmc.c @@ -1192,8 +1192,8 @@ static int meson_mmc_probe(struct platform_device *pdev) return PTR_ERR(host->regs); host->irq = platform_get_irq(pdev, 0); - if (host->irq <= 0) - return -EINVAL; + if (host->irq < 0) + return host->irq; cd_irq = platform_get_irq_optional(pdev, 1); mmc_gpio_set_cd_irq(mmc, cd_irq);
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: cbcaac6d7dd2 ("mmc: meson-gx-mmc: Fix platform_get_irq's error checking") Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru> --- Changes in version 2: - updated the fix due to the surrounding code change; - refreshed the patch; - removed stray newline in the Fixes: tag; - slightly reformatted the patch description. drivers/mmc/host/meson-gx-mmc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)