Daniel Baluta schrieb am 23.12.2014 um 14:22:
> ..except while in an error handler, where there is nothing
> to be done anyway.
> 
> Signed-off-by: Daniel Baluta <[email protected]>
Reviewed-by: Hartmut Knaack <[email protected]>
> ---
>  drivers/iio/imu/kmx61.c | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/iio/imu/kmx61.c b/drivers/iio/imu/kmx61.c
> index fe0cee7..e9cbd91 100644
> --- a/drivers/iio/imu/kmx61.c
> +++ b/drivers/iio/imu/kmx61.c
> @@ -830,7 +830,12 @@ static int kmx61_read_raw(struct iio_dev *indio_dev,
>               }
>               mutex_lock(&data->lock);
>  
> -             kmx61_set_power_state(data, true, chan->address);
> +             ret = kmx61_set_power_state(data, true, chan->address);
> +             if (ret) {
> +                     mutex_unlock(&data->lock);
> +                     return ret;
> +             }
> +
>               ret = kmx61_read_measurement(data, base_reg, chan->scan_index);
>               if (ret < 0) {
>                       kmx61_set_power_state(data, false, chan->address);
> @@ -839,9 +844,11 @@ static int kmx61_read_raw(struct iio_dev *indio_dev,
>               }
>               *val = sign_extend32(ret >> chan->scan_type.shift,
>                                    chan->scan_type.realbits - 1);
> -             kmx61_set_power_state(data, false, chan->address);
> +             ret = kmx61_set_power_state(data, false, chan->address);
>  
>               mutex_unlock(&data->lock);
> +             if (ret)
> +                     return ret;
>               return IIO_VAL_INT;
>       case IIO_CHAN_INFO_SCALE:
>               switch (chan->type) {
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to