]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
platform: cznic: turris-omnia-mcu: Fix error check in omnia_mcu_register_trng()
authorDan Carpenter <dan.carpenter@linaro.org>
Thu, 5 Sep 2024 13:16:53 +0000 (16:16 +0300)
committerArnd Bergmann <arnd@arndb.de>
Thu, 5 Sep 2024 16:31:59 +0000 (16:31 +0000)
The gpiod_to_irq() function never returns zero.  It returns negative
error codes or a positive IRQ number.  Update the checking to check
for negatives.

Fixes: 41bb142a4028 ("platform: cznic: turris-omnia-mcu: Add support for MCU provided TRNG")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Marek BehĂșn <kabel@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
drivers/platform/cznic/turris-omnia-mcu-trng.c

index ad953fb3c37afdeb1a09fbf7bfe6c644ef7909a7..9a1d9292dc9ad3908c87e5c3acdcc28d3cd1bdca 100644 (file)
@@ -70,8 +70,8 @@ int omnia_mcu_register_trng(struct omnia_mcu *mcu)
 
        irq_idx = omnia_int_to_gpio_idx[__bf_shf(OMNIA_INT_TRNG)];
        irq = gpiod_to_irq(gpio_device_get_desc(mcu->gc.gpiodev, irq_idx));
-       if (!irq)
-               return dev_err_probe(dev, -ENXIO, "Cannot get TRNG IRQ\n");
+       if (irq < 0)
+               return dev_err_probe(dev, irq, "Cannot get TRNG IRQ\n");
 
        /*
         * If someone else cleared the TRNG interrupt but did not read the