From 3ef961d01c2c082ec55c7c62a3eae3a8d5b97eb9 Mon Sep 17 00:00:00 2001 From: bui duc phuc Date: Thu, 3 Sep 2026 14:46:38 +0700 Subject: [PATCH] net: marvell: mvmdio: Handle errors from optional IRQ lookup 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 Reviewed-by: Simon Horman Link: https://patch.msgid.link/20260903074638.345952-1-phucduc.bui@gmail.com Signed-off-by: Paolo Abeni --- 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; }