ixp4xx_eth: fix error check return value of platform_get_irq()
authorLv Ruyi <lv.ruyi@zte.com.cn>
Tue, 12 Apr 2022 08:51:26 +0000 (08:51 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jun 2022 08:22:46 +0000 (10:22 +0200)
[ Upstream commit f45ba67eb74ab4b775616af731bdf8944afce3f1 ]

platform_get_irq() return negative value on failure, so null check of
return value is incorrect. Fix it by comparing whether it is less than
zero.

Fixes: 9055a2f59162 ("ixp4xx_eth: make ptp support a platform driver")
Reported-by: Zeal Robot <zealci@zte.com.cn>
Signed-off-by: Lv Ruyi <lv.ruyi@zte.com.cn>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20220412085126.2532924-1-lv.ruyi@zte.com.cn
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/xscale/ptp_ixp46x.c

index 3923485..20f6aa5 100644 (file)
@@ -272,7 +272,7 @@ static int ptp_ixp_probe(struct platform_device *pdev)
        ixp_clock.master_irq = platform_get_irq(pdev, 0);
        ixp_clock.slave_irq = platform_get_irq(pdev, 1);
        if (IS_ERR(ixp_clock.regs) ||
-           !ixp_clock.master_irq || !ixp_clock.slave_irq)
+           ixp_clock.master_irq < 0 || ixp_clock.slave_irq < 0)
                return -ENXIO;
 
        ixp_clock.caps = ptp_ixp_caps;