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 <rodrigosiqueiramelo@xxxxxxxxx> Signed-off-by: John Syne <john3909@xxxxxxxxx> --- 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 devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel