aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iio/accel
diff options
context:
space:
mode:
authorIrina Tirdea <irina.tirdea@intel.com>2015-04-13 11:40:49 -0400
committerJonathan Cameron <jic23@kernel.org>2015-04-26 14:43:08 -0400
commit1d93353da536d3403ac291dc96070f434f6cf285 (patch)
tree356164fad3cc6ff85d1d47332efabcd220570539 /drivers/iio/accel
parentae2ec9597c9329fdf503af264966bc7e421daa58 (diff)
iio: accel: mma9553: check input value for activity period
When setting the activity period, the value introduced by the user in sysfs is not checked for validity. Add a boundary check so that only allowed values are reported as successfully written to device. Signed-off-by: Irina Tirdea <irina.tirdea@intel.com> Reported-by: Hartmut Knaack <knaack.h@gmx.de> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'drivers/iio/accel')
-rw-r--r--drivers/iio/accel/mma9553.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/iio/accel/mma9553.c b/drivers/iio/accel/mma9553.c
index 1a256055a6f7..365a109aaaef 100644
--- a/drivers/iio/accel/mma9553.c
+++ b/drivers/iio/accel/mma9553.c
@@ -54,6 +54,7 @@
54#define MMA9553_MASK_CONF_STEPCOALESCE GENMASK(7, 0) 54#define MMA9553_MASK_CONF_STEPCOALESCE GENMASK(7, 0)
55 55
56#define MMA9553_REG_CONF_ACTTHD 0x0E 56#define MMA9553_REG_CONF_ACTTHD 0x0E
57#define MMA9553_MAX_ACTTHD GENMASK(15, 0)
57 58
58/* Pedometer status registers (R-only) */ 59/* Pedometer status registers (R-only) */
59#define MMA9553_REG_STATUS 0x00 60#define MMA9553_REG_STATUS 0x00
@@ -869,6 +870,9 @@ static int mma9553_write_event_value(struct iio_dev *indio_dev,
869 case IIO_EV_INFO_PERIOD: 870 case IIO_EV_INFO_PERIOD:
870 switch (chan->type) { 871 switch (chan->type) {
871 case IIO_ACTIVITY: 872 case IIO_ACTIVITY:
873 if (val < 0 || val > MMA9553_ACTIVITY_THD_TO_SEC(
874 MMA9553_MAX_ACTTHD))
875 return -EINVAL;
872 mutex_lock(&data->mutex); 876 mutex_lock(&data->mutex);
873 ret = mma9553_set_config(data, MMA9553_REG_CONF_ACTTHD, 877 ret = mma9553_set_config(data, MMA9553_REG_CONF_ACTTHD,
874 &data->conf.actthd, 878 &data->conf.actthd,