diff options
| author | bui duc phuc <phucduc.bui@gmail.com> | 2026-09-03 14:46:38 +0700 |
|---|---|---|
| committer | Paolo Abeni <pabeni@redhat.com> | 2026-09-08 11:13:16 +0200 |
| commit | 3ef961d01c2c082ec55c7c62a3eae3a8d5b97eb9 (patch) | |
| tree | 16c646fbde348774a8a46d395af964e484611f71 | |
| parent | bc6fe9d301d59fe5cb236d646abe792bffae5fa6 (diff) | |
| download | linux-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.c | 4 |
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; } |
