Re: [PATCH 09/10] staging: iio: tsl2583: add error code to sysfs store functions

From: Jonathan Cameron
Date: Sun Oct 30 2016 - 14:41:10 EST


On 28/10/16 11:00, Brian Masney wrote:
> in_illuminance_input_target_store() and in_illuminance_calibrate_store()
> validated the data from userspace, however it would not return an
> error code to userspace if an invalid value was passed in. This patch
> changes these functions so that they return -EINVAL if invalid data is
> passed in.
>
> Signed-off-by: Brian Masney <masneyb@xxxxxxxxxxxxx>
Applied thanks.

Jonathan
> ---
> drivers/staging/iio/light/tsl2583.c | 10 ++++------
> 1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/staging/iio/light/tsl2583.c b/drivers/staging/iio/light/tsl2583.c
> index 1462374..98afa5b 100644
> --- a/drivers/staging/iio/light/tsl2583.c
> +++ b/drivers/staging/iio/light/tsl2583.c
> @@ -525,11 +525,10 @@ static ssize_t in_illuminance_input_target_store(struct device *dev,
> struct tsl2583_chip *chip = iio_priv(indio_dev);
> int value;
>
> - if (kstrtoint(buf, 0, &value))
> + if (kstrtoint(buf, 0, &value) || !value)
> return -EINVAL;
>
> - if (value)
> - chip->taos_settings.als_cal_target = value;
> + chip->taos_settings.als_cal_target = value;
>
> return len;
> }
> @@ -541,11 +540,10 @@ static ssize_t in_illuminance_calibrate_store(struct device *dev,
> struct iio_dev *indio_dev = dev_to_iio_dev(dev);
> int value;
>
> - if (kstrtoint(buf, 0, &value))
> + if (kstrtoint(buf, 0, &value) || value != 1)
> return -EINVAL;
>
> - if (value == 1)
> - taos_als_calibrate(indio_dev);
> + taos_als_calibrate(indio_dev);
>
> return len;
> }
>