diff options
-rw-r--r-- | drivers/staging/iio/magnetometer/hmc5843.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/staging/iio/magnetometer/hmc5843.c b/drivers/staging/iio/magnetometer/hmc5843.c index cf2bab848717..d25b06ef8075 100644 --- a/drivers/staging/iio/magnetometer/hmc5843.c +++ b/drivers/staging/iio/magnetometer/hmc5843.c @@ -281,9 +281,14 @@ static ssize_t hmc5843_set_measurement_configuration(struct device *dev, struct i2c_client *client = to_i2c_client(indio_dev->dev.parent); struct hmc5843_data *data = iio_priv(indio_dev); unsigned long meas_conf = 0; - int error = kstrtoul(buf, 10, &meas_conf); + int error; + + error = kstrtoul(buf, 10, &meas_conf); if (error) return error; + if (meas_conf >= HMC5843_MEAS_CONF_NOT_USED) + return -EINVAL; + mutex_lock(&data->lock); dev_dbg(dev, "set mode to %lu\n", meas_conf); |