iio: tmp006: Check channel info on write
authorPeter Meerwald <pmeerw@pmeerw.net>
Sun, 21 Jun 2015 21:50:21 +0000 (23:50 +0200)
committerJonathan Cameron <jic23@kernel.org>
Sun, 19 Jul 2015 10:48:18 +0000 (11:48 +0100)
only SAMP_FREQ is writable

Will lead to SAMP_FREQ being written by any attempt to write
to the other exported attributes and hence a rather unexpected
result!

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/temperature/tmp006.c

index fcc49f8..8f21f32 100644 (file)
@@ -132,6 +132,9 @@ static int tmp006_write_raw(struct iio_dev *indio_dev,
        struct tmp006_data *data = iio_priv(indio_dev);
        int i;
 
+       if (mask != IIO_CHAN_INFO_SAMP_FREQ)
+               return -EINVAL;
+
        for (i = 0; i < ARRAY_SIZE(tmp006_freqs); i++)
                if ((val == tmp006_freqs[i][0]) &&
                    (val2 == tmp006_freqs[i][1])) {