diff options
author | Peter Meerwald <pmeerw@pmeerw.net> | 2015-06-21 17:50:21 -0400 |
---|---|---|
committer | Jonathan Cameron <jic23@kernel.org> | 2015-07-05 09:22:33 -0400 |
commit | 8d05abfaeff52bdf66aba3a3a337dcdbdb4911bf (patch) | |
tree | 3fec769bd0171702b4dfd794ecda1d397fe41ed1 | |
parent | 897993fecbb8e6292aaa4079815f0793dcf6de8b (diff) |
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.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/iio/temperature/tmp006.c b/drivers/iio/temperature/tmp006.c index fcc49f89b946..8f21f32f9739 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, | |||
132 | struct tmp006_data *data = iio_priv(indio_dev); | 132 | struct tmp006_data *data = iio_priv(indio_dev); |
133 | int i; | 133 | int i; |
134 | 134 | ||
135 | if (mask != IIO_CHAN_INFO_SAMP_FREQ) | ||
136 | return -EINVAL; | ||
137 | |||
135 | for (i = 0; i < ARRAY_SIZE(tmp006_freqs); i++) | 138 | for (i = 0; i < ARRAY_SIZE(tmp006_freqs); i++) |
136 | if ((val == tmp006_freqs[i][0]) && | 139 | if ((val == tmp006_freqs[i][0]) && |
137 | (val2 == tmp006_freqs[i][1])) { | 140 | (val2 == tmp006_freqs[i][1])) { |