summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbui duc phuc <phucduc.bui@gmail.com>2026-09-03 14:46:38 +0700
committerPaolo Abeni <pabeni@redhat.com>2026-09-08 11:13:16 +0200
commit3ef961d01c2c082ec55c7c62a3eae3a8d5b97eb9 (patch)
tree16c646fbde348774a8a46d395af964e484611f71
parentbc6fe9d301d59fe5cb236d646abe792bffae5fa6 (diff)
downloadlinux-next-3ef961d01c2c082ec55c7c62a3eae3a8d5b97eb9.tar.gz
linux-next-3ef961d01c2c082ec55c7c62a3eae3a8d5b97eb9.zip
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 <phucduc.bui@gmail.com> Reviewed-by: Simon Horman <horms@kernel.org> Link: https://patch.msgid.link/20260903074638.345952-1-phucduc.bui@gmail.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
-rw-r--r--drivers/net/ethernet/marvell/mvmdio.c4
1 files 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;
}