diff options
author | Lars-Peter Clausen <lars@metafoo.de> | 2013-01-31 09:27:00 -0500 |
---|---|---|
committer | Jonathan Cameron <jic23@kernel.org> | 2013-02-02 04:21:36 -0500 |
commit | 9a26578c811e6f4de24d81ef734b17c401e5080f (patch) | |
tree | c92986a19761828bf2a2c97dc67deb8ab95f95f7 | |
parent | c62b89c713ebd5e4a67c9b9229591adab8953a3c (diff) |
staging:iio:adxrs450: Reject out of range calibscale values
Instead of silently discarding the upper bits reject out of range values for the
calibscale property.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
-rw-r--r-- | drivers/staging/iio/gyro/adxrs450_core.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/staging/iio/gyro/adxrs450_core.c b/drivers/staging/iio/gyro/adxrs450_core.c index 4c462d36dac9..96e52844377b 100644 --- a/drivers/staging/iio/gyro/adxrs450_core.c +++ b/drivers/staging/iio/gyro/adxrs450_core.c | |||
@@ -258,9 +258,10 @@ static int adxrs450_write_raw(struct iio_dev *indio_dev, | |||
258 | int ret; | 258 | int ret; |
259 | switch (mask) { | 259 | switch (mask) { |
260 | case IIO_CHAN_INFO_CALIBBIAS: | 260 | case IIO_CHAN_INFO_CALIBBIAS: |
261 | if (val < -0x400 || val >= 0x400) | ||
262 | return -EINVAL; | ||
261 | ret = adxrs450_spi_write_reg_16(indio_dev, | 263 | ret = adxrs450_spi_write_reg_16(indio_dev, |
262 | ADXRS450_DNC1, | 264 | ADXRS450_DNC1, val); |
263 | val & 0x3FF); | ||
264 | break; | 265 | break; |
265 | default: | 266 | default: |
266 | ret = -EINVAL; | 267 | ret = -EINVAL; |