Commit a3ef65d3 authored by Michael Hennerich's avatar Michael Hennerich Committed by Greg Kroah-Hartman
Browse files

staging:iio:adc:ad7192: return len and fix out of range checking

parent e68b1db1
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -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) ==