Re: [PATCH v3 03/28] staging: iio: tsl2583: check if chip is suspended in in_illuminance_calibrate_store

From: Jonathan Cameron
Date: Sat Nov 12 2016 - 11:28:37 EST


On 12/11/16 16:24, Jonathan Cameron wrote:
> On 10/11/16 09:25, Brian Masney wrote:
>> in_illuminance_calibrate_store() did not check to see if the chip is
>> suspended. This patch adds the proper check. The return value from
>> taos_als_calibrate() was also not checked in this function, so the
>> proper check was also added while changes are being made here.
>>
>> Signed-off-by: Brian Masney <masneyb@xxxxxxxxxxxxx>
> Applied.
And backed out. It doesn't build :(

drivers/staging/iio/light/tsl2583.c:511:10: error: ‘struct tsl2583_chip’ has no member named ‘suspended’
if (chip->suspended) {
^~

>> ---
>> drivers/staging/iio/light/tsl2583.c | 17 ++++++++++++++---
>> 1 file changed, 14 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/staging/iio/light/tsl2583.c b/drivers/staging/iio/light/tsl2583.c
>> index 1a7be12..eb59ea0 100644
>> --- a/drivers/staging/iio/light/tsl2583.c
>> +++ b/drivers/staging/iio/light/tsl2583.c
>> @@ -501,16 +501,27 @@ static ssize_t in_illuminance_calibrate_store(struct device *dev,
>> {
>> struct iio_dev *indio_dev = dev_to_iio_dev(dev);
>> struct tsl2583_chip *chip = iio_priv(indio_dev);
>> - int value;
>> + int value, ret;
>>
>> if (kstrtoint(buf, 0, &value) || value != 1)
>> return -EINVAL;
>>
>> mutex_lock(&chip->als_mutex);
>> - taos_als_calibrate(indio_dev);
>> +
>> + if (chip->suspended) {
>> + ret = -EBUSY;
>> + goto done;
>> + }
>> +
>> + ret = taos_als_calibrate(indio_dev);
>> + if (ret < 0)
>> + goto done;
>> +
>> + ret = len;
>> +done:
>> mutex_unlock(&chip->als_mutex);
>>
>> - return len;
>> + return ret;
>> }
>>
>> static ssize_t in_illuminance_lux_table_show(struct device *dev,
>>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-iio" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>