diff options
Diffstat (limited to 'drivers/staging/iio')
-rw-r--r-- | drivers/staging/iio/accel/lis3l02dq_ring.c | 4 | ||||
-rw-r--r-- | drivers/staging/iio/adc/ad7192.c | 2 | ||||
-rw-r--r-- | drivers/staging/iio/gyro/adis16260_core.c | 2 | ||||
-rw-r--r-- | drivers/staging/iio/imu/adis16400_core.c | 2 | ||||
-rw-r--r-- | drivers/staging/iio/meter/ade7753.c | 2 | ||||
-rw-r--r-- | drivers/staging/iio/meter/ade7754.c | 2 | ||||
-rw-r--r-- | drivers/staging/iio/meter/ade7759.c | 2 |
7 files changed, 15 insertions, 1 deletions
diff --git a/drivers/staging/iio/accel/lis3l02dq_ring.c b/drivers/staging/iio/accel/lis3l02dq_ring.c index 18d108fd967..f3da59063ed 100644 --- a/drivers/staging/iio/accel/lis3l02dq_ring.c +++ b/drivers/staging/iio/accel/lis3l02dq_ring.c | |||
@@ -121,8 +121,10 @@ static int lis3l02dq_get_buffer_element(struct iio_dev *indio_dev, | |||
121 | if (rx_array == NULL) | 121 | if (rx_array == NULL) |
122 | return -ENOMEM; | 122 | return -ENOMEM; |
123 | ret = lis3l02dq_read_all(indio_dev, rx_array); | 123 | ret = lis3l02dq_read_all(indio_dev, rx_array); |
124 | if (ret < 0) | 124 | if (ret < 0) { |
125 | kfree(rx_array); | ||
125 | return ret; | 126 | return ret; |
127 | } | ||
126 | for (i = 0; i < scan_count; i++) | 128 | for (i = 0; i < scan_count; i++) |
127 | data[i] = combine_8_to_16(rx_array[i*4+1], | 129 | data[i] = combine_8_to_16(rx_array[i*4+1], |
128 | rx_array[i*4+3]); | 130 | rx_array[i*4+3]); |
diff --git a/drivers/staging/iio/adc/ad7192.c b/drivers/staging/iio/adc/ad7192.c index 095837285f4..19a064d649e 100644 --- a/drivers/staging/iio/adc/ad7192.c +++ b/drivers/staging/iio/adc/ad7192.c | |||
@@ -647,6 +647,8 @@ static ssize_t ad7192_write_frequency(struct device *dev, | |||
647 | ret = strict_strtoul(buf, 10, &lval); | 647 | ret = strict_strtoul(buf, 10, &lval); |
648 | if (ret) | 648 | if (ret) |
649 | return ret; | 649 | return ret; |
650 | if (lval == 0) | ||
651 | return -EINVAL; | ||
650 | 652 | ||
651 | mutex_lock(&indio_dev->mlock); | 653 | mutex_lock(&indio_dev->mlock); |
652 | if (iio_buffer_enabled(indio_dev)) { | 654 | if (iio_buffer_enabled(indio_dev)) { |
diff --git a/drivers/staging/iio/gyro/adis16260_core.c b/drivers/staging/iio/gyro/adis16260_core.c index 93aa431287a..eb8e9d69efd 100644 --- a/drivers/staging/iio/gyro/adis16260_core.c +++ b/drivers/staging/iio/gyro/adis16260_core.c | |||
@@ -195,6 +195,8 @@ static ssize_t adis16260_write_frequency(struct device *dev, | |||
195 | ret = strict_strtol(buf, 10, &val); | 195 | ret = strict_strtol(buf, 10, &val); |
196 | if (ret) | 196 | if (ret) |
197 | return ret; | 197 | return ret; |
198 | if (val == 0) | ||
199 | return -EINVAL; | ||
198 | 200 | ||
199 | mutex_lock(&indio_dev->mlock); | 201 | mutex_lock(&indio_dev->mlock); |
200 | if (spi_get_device_id(st->us)) { | 202 | if (spi_get_device_id(st->us)) { |
diff --git a/drivers/staging/iio/imu/adis16400_core.c b/drivers/staging/iio/imu/adis16400_core.c index 1f4c17779b5..a618327e06e 100644 --- a/drivers/staging/iio/imu/adis16400_core.c +++ b/drivers/staging/iio/imu/adis16400_core.c | |||
@@ -234,6 +234,8 @@ static ssize_t adis16400_write_frequency(struct device *dev, | |||
234 | ret = strict_strtol(buf, 10, &val); | 234 | ret = strict_strtol(buf, 10, &val); |
235 | if (ret) | 235 | if (ret) |
236 | return ret; | 236 | return ret; |
237 | if (val == 0) | ||
238 | return -EINVAL; | ||
237 | 239 | ||
238 | mutex_lock(&indio_dev->mlock); | 240 | mutex_lock(&indio_dev->mlock); |
239 | 241 | ||
diff --git a/drivers/staging/iio/meter/ade7753.c b/drivers/staging/iio/meter/ade7753.c index f04ece7fbc2..3ccff189f25 100644 --- a/drivers/staging/iio/meter/ade7753.c +++ b/drivers/staging/iio/meter/ade7753.c | |||
@@ -425,6 +425,8 @@ static ssize_t ade7753_write_frequency(struct device *dev, | |||
425 | ret = strict_strtol(buf, 10, &val); | 425 | ret = strict_strtol(buf, 10, &val); |
426 | if (ret) | 426 | if (ret) |
427 | return ret; | 427 | return ret; |
428 | if (val == 0) | ||
429 | return -EINVAL; | ||
428 | 430 | ||
429 | mutex_lock(&indio_dev->mlock); | 431 | mutex_lock(&indio_dev->mlock); |
430 | 432 | ||
diff --git a/drivers/staging/iio/meter/ade7754.c b/drivers/staging/iio/meter/ade7754.c index 6cee28a5e87..abb1e9c8d09 100644 --- a/drivers/staging/iio/meter/ade7754.c +++ b/drivers/staging/iio/meter/ade7754.c | |||
@@ -445,6 +445,8 @@ static ssize_t ade7754_write_frequency(struct device *dev, | |||
445 | ret = strict_strtol(buf, 10, &val); | 445 | ret = strict_strtol(buf, 10, &val); |
446 | if (ret) | 446 | if (ret) |
447 | return ret; | 447 | return ret; |
448 | if (val == 0) | ||
449 | return -EINVAL; | ||
448 | 450 | ||
449 | mutex_lock(&indio_dev->mlock); | 451 | mutex_lock(&indio_dev->mlock); |
450 | 452 | ||
diff --git a/drivers/staging/iio/meter/ade7759.c b/drivers/staging/iio/meter/ade7759.c index b3f7e0fa961..eb0a2a98f38 100644 --- a/drivers/staging/iio/meter/ade7759.c +++ b/drivers/staging/iio/meter/ade7759.c | |||
@@ -385,6 +385,8 @@ static ssize_t ade7759_write_frequency(struct device *dev, | |||
385 | ret = strict_strtol(buf, 10, &val); | 385 | ret = strict_strtol(buf, 10, &val); |
386 | if (ret) | 386 | if (ret) |
387 | return ret; | 387 | return ret; |
388 | if (val == 0) | ||
389 | return -EINVAL; | ||
388 | 390 | ||
389 | mutex_lock(&indio_dev->mlock); | 391 | mutex_lock(&indio_dev->mlock); |
390 | 392 | ||