There is some improper error handling for IRQ and device register.  This
patch adds a proper verification. The IRQ correction was extracted from
John Syne patches.

Signed-off-by: Rodrigo Siqueira <rodrigosiqueiram...@gmail.com>
Signed-off-by: John Syne <john3...@gmail.com>
---
 drivers/staging/iio/meter/ade7854.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/iio/meter/ade7854.c 
b/drivers/staging/iio/meter/ade7854.c
index 09fd8c067738..49cbe365e43d 100644
--- a/drivers/staging/iio/meter/ade7854.c
+++ b/drivers/staging/iio/meter/ade7854.c
@@ -436,7 +436,7 @@ static int ade7854_initial_setup(struct iio_dev *indio_dev)
 
        /* Disable IRQ */
        ret = ade7854_set_irq(dev, false);
-       if (ret) {
+       if (ret < 0) {
                dev_err(dev, "disable irq failed");
                goto err_ret;
        }
@@ -544,7 +544,7 @@ int ade7854_probe(struct iio_dev *indio_dev, struct device 
*dev)
        indio_dev->modes = INDIO_DIRECT_MODE;
 
        ret = devm_iio_device_register(dev, indio_dev);
-       if (ret)
+       if (ret < 0)
                return ret;
 
        /* Get the device into a sane initial state */
-- 
2.16.2

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to