lkml.org 
[lkml]   [2016]   [Nov]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 03/23] staging: iio: tsl2583: check if chip is suspended in in_illuminance_calibrate_store
    Date
    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@onstation.org>
    ---
    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 cf5fd5f..6c46253 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,
    --
    2.7.4
    \
     
     \ /
      Last update: 2016-11-08 11:18    [W:4.531 / U:0.344 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site