From: Michael Hennerich Date: Fri, 2 Sep 2011 16:25:46 +0000 (+0100) Subject: staging:iio:adc:ad7192: return len and fix out of range checking X-Git-Tag: v3.2-rc1~169^2^2~692 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a3ef65d3225f1ff378da4798b9c0c68f13265900;p=profile%2Fivi%2Fkernel-x86-ivi.git staging:iio:adc:ad7192: return len and fix out of range checking Signed-off-by: Michael Hennerich Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/iio/adc/ad7291.c b/drivers/staging/iio/adc/ad7291.c index 4697ebb..c486d72 100644 --- a/drivers/staging/iio/adc/ad7291.c +++ b/drivers/staging/iio/adc/ad7291.c @@ -241,10 +241,14 @@ static inline ssize_t ad7291_set_hyst(struct device *dev, if (ret < 0) return ret; - if (data < 4096) + if (data > AD7291_VALUE_MASK) return -EINVAL; - return ad7291_i2c_write(chip, this_attr->address, data); + ret = ad7291_i2c_write(chip, this_attr->address, data); + if (ret < 0) + return ret; + + return len; } static IIO_DEVICE_ATTR(in_temp0_thresh_both_hyst_raw, @@ -352,7 +356,7 @@ static int ad7291_write_event_value(struct iio_dev *indio_dev, switch (IIO_EVENT_CODE_EXTRACT_CHAN_TYPE(event_code)) { case IIO_VOLTAGE: - if (val > 0xFFF || val < 0) + if (val > AD7291_VALUE_MASK || val < 0) return -EINVAL; reg = ad7291_limit_regs[IIO_EVENT_CODE_EXTRACT_NUM(event_code)] [!(IIO_EVENT_CODE_EXTRACT_DIR(event_code) ==