From: bui duc phuc lp->eth_irq is assigned from platform_get_irq_optional(), which returns a non-zero interrupt number on success or a negative error number on failure. Errors other than -ENXIO are handled before this check, so -ENXIO is the only error value that can reach this point. Check for a negative value instead of treating 0 as an undefined IRQ. Fixes: 522856cefaf0 ("net: axienet: Add optional support for Ethernet core interrupt") Reviewed-by: Radhey Shyam Pandey Signed-off-by: bui duc phuc --- drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c index 207aecb5f8b9..3927ababf833 100644 --- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c @@ -3052,7 +3052,7 @@ static int axienet_probe(struct platform_device *pdev) ndev->ethtool_ops = &axienet_ethtool_ops; } /* Check for Ethernet core IRQ (optional) */ - if (lp->eth_irq <= 0) + if (lp->eth_irq < 0) dev_info(&pdev->dev, "Ethernet core IRQ not defined\n"); /* Retrieve the MAC address */ -- 2.43.0