From: bui duc phuc platform_get_irq_optional() returns a positive IRQ number on success or a negative error code on failure. For an optional IRQ, -ENXIO indicates that no optional IRQ is available. Other errors should be propagated so that the caller can handle them appropriately. The existing code propagates -EPROBE_DEFER, but ignores other negative errors. Propagate negative errors other than -ENXIO. Found by manual code inspection. Signed-off-by: bui duc phuc --- drivers/net/ethernet/marvell/mvmdio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/marvell/mvmdio.c b/drivers/net/ethernet/marvell/mvmdio.c index 2ccb8c8f5feb..d59cf332d1ec 100644 --- a/drivers/net/ethernet/marvell/mvmdio.c +++ b/drivers/net/ethernet/marvell/mvmdio.c @@ -373,8 +373,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 == -EPROBE_DEFER) { - ret = -EPROBE_DEFER; + } else if (dev->err_interrupt < 0 && dev->err_interrupt != -ENXIO) { + ret = dev->err_interrupt; goto out_mdio; } -- 2.43.0