pata_ep93xx: fix deferred probing
authorSergey Shtylyov <s.shtylyov@omprussia.ru>
Sat, 20 Mar 2021 20:32:38 +0000 (23:32 +0300)
committerJens Axboe <axboe@kernel.dk>
Thu, 27 May 2021 19:03:48 +0000 (13:03 -0600)
The driver overrides the error codes returned by platform_get_irq() to
-ENXIO, so if it returns -EPROBE_DEFER, the driver would fail the probe
permanently instead of the deferred probing.  Propagate the error code
upstream, as it should have been done from the start...

Fixes: 2fff27512600 ("PATA host controller driver for ep93xx")
Signed-off-by: Sergey Shtylyov <s.shtylyov@omprussia.ru>
Link: https://lore.kernel.org/r/509fda88-2e0d-2cc7-f411-695d7e94b136@omprussia.ru
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/ata/pata_ep93xx.c

index badab67..46208ec 100644 (file)
@@ -928,7 +928,7 @@ static int ep93xx_pata_probe(struct platform_device *pdev)
        /* INT[3] (IRQ_EP93XX_EXT3) line connected as pull down */
        irq = platform_get_irq(pdev, 0);
        if (irq < 0) {
-               err = -ENXIO;
+               err = irq;
                goto err_rel_gpio;
        }