aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2013-01-31 09:27:00 -0500
committerJonathan Cameron <jic23@kernel.org>2013-02-02 04:21:36 -0500
commit9a26578c811e6f4de24d81ef734b17c401e5080f (patch)
treec92986a19761828bf2a2c97dc67deb8ab95f95f7
parentc62b89c713ebd5e4a67c9b9229591adab8953a3c (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.c5
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;