Revert "net: mvmdio: avoid error message for optional IRQ"
authorChris Packham <chris.packham@alliedtelesis.co.nz>
Mon, 16 Mar 2020 07:49:06 +0000 (20:49 +1300)
committerDavid S. Miller <davem@davemloft.net>
Wed, 18 Mar 2020 03:54:37 +0000 (20:54 -0700)
This reverts commit e1f550dc44a4d535da4e25ada1b0eaf8f3417929.
platform_get_irq_optional() will still return -ENXIO when no interrupt
is provided so the additional error handling caused the driver prone to
fail when no interrupt was specified. Revert the change so we can apply
the correct minimal fix.

Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/mvmdio.c

index d2e2dc5384287c55447e32c5e547df65de0a6894..0b9e851f3da4fb1a37989e1aed311a5ad282353f 100644 (file)
@@ -347,7 +347,7 @@ static int orion_mdio_probe(struct platform_device *pdev)
        }
 
 
-       dev->err_interrupt = platform_get_irq_optional(pdev, 0);
+       dev->err_interrupt = platform_get_irq(pdev, 0);
        if (dev->err_interrupt > 0 &&
            resource_size(r) < MVMDIO_ERR_INT_MASK + 4) {
                dev_err(&pdev->dev,
@@ -364,8 +364,8 @@ static int orion_mdio_probe(struct platform_device *pdev)
                writel(MVMDIO_ERR_INT_SMI_DONE,
                        dev->regs + MVMDIO_ERR_INT_MASK);
 
-       } else if (dev->err_interrupt < 0) {
-               ret = dev->err_interrupt;
+       } else if (dev->err_interrupt == -EPROBE_DEFER) {
+               ret = -EPROBE_DEFER;
                goto out_mdio;
        }