OSDN Git Service

gpio: idt3243x: Fix IRQ check in idt_gpio_probe
authorMiaoqian Lin <linmq006@gmail.com>
Fri, 14 Jan 2022 06:51:24 +0000 (06:51 +0000)
committerBartosz Golaszewski <brgl@bgdev.pl>
Mon, 17 Jan 2022 13:18:11 +0000 (14:18 +0100)
platform_get_irq() returns negative error number instead 0 on failure.
And the doc of platform_get_irq() provides a usage example:

    int irq = platform_get_irq(pdev, 0);
    if (irq < 0)
        return irq;

Fix the check of return value to catch errors correctly.

Fixes: 4195926aedca ("gpio: Add support for IDT 79RC3243x GPIO controller")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
drivers/gpio/gpio-idt3243x.c

index 50003ad..08493b0 100644 (file)
@@ -164,8 +164,8 @@ static int idt_gpio_probe(struct platform_device *pdev)
                        return PTR_ERR(ctrl->pic);
 
                parent_irq = platform_get_irq(pdev, 0);
-               if (!parent_irq)
-                       return -EINVAL;
+               if (parent_irq < 0)
+                       return parent_irq;
 
                girq = &ctrl->gc.irq;
                girq->chip = &idt_gpio_irqchip;