summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Meerwald <pmeerw@pmeerw.net>2015-06-21 21:50:21 (GMT)
committerJonathan Cameron <jic23@kernel.org>2015-07-19 10:48:18 (GMT)
commitf451957dafe712ab2cd4b7ca8ba9197798115fbe (patch)
treeb5a23e3c949e109516fddb8a81b796e61b972136
parent06b00f99ca8a0ec79f5d428dfb128abd14162c57 (diff)
downloadlinux-f451957dafe712ab2cd4b7ca8ba9197798115fbe.tar.xz
iio: tmp006: Check channel info on write
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>
-rw-r--r--drivers/iio/temperature/tmp006.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/iio/temperature/tmp006.c b/drivers/iio/temperature/tmp006.c
index fcc49f8..8f21f32 100644
--- a/drivers/iio/temperature/tmp006.c
+++ b/drivers/iio/temperature/tmp006.c
@@ -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])) {