[PATCH] staging: iio: Add error code handling
Cristina Moraru
cristina.moraru09 at gmail.com
Wed Oct 21 01:37:01 EEST 2015
Write function can return non-zero values indicating
errors. This values must be caught and handled.
Signed-off-by: Cristina Moraru <cristina.moraru09 at gmail.com>
---
drivers/staging/iio/addac/adt7316.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/drivers/staging/iio/addac/adt7316.c b/drivers/staging/iio/addac/adt7316.c
index 3adc451..6d67edf 100644
--- a/drivers/staging/iio/addac/adt7316.c
+++ b/drivers/staging/iio/addac/adt7316.c
@@ -1850,10 +1850,11 @@ static ssize_t adt7316_set_int_mask(struct device *dev,
mask = ADT7316_INT_MASK2_VDD; /* disable vdd int */
ret = chip->bus.write(chip->bus.client, ADT7316_INT_MASK2, mask);
- if (!ret) {
- chip->int_mask &= ~ADT7316_VDD_INT_MASK;
- chip->int_mask |= data & ADT7316_VDD_INT_MASK;
- }
+ if (ret)
+ return -EIO;
+
+ chip->int_mask &= ~ADT7316_VDD_INT_MASK;
+ chip->int_mask |= data & ADT7316_VDD_INT_MASK;
if (data & ADT7316_TEMP_AIN_INT_MASK) {
if ((chip->id & ID_FAMILY_MASK) == ID_ADT73XX)
@@ -1864,6 +1865,8 @@ static ssize_t adt7316_set_int_mask(struct device *dev,
mask = (~data) & ADT7316_TEMP_AIN_INT_MASK;
}
ret = chip->bus.write(chip->bus.client, ADT7316_INT_MASK1, mask);
+ if (ret)
+ return -EIO;
chip->int_mask = mask;
--
1.9.1
More information about the firefly
mailing list