Re: [PATCH 22/38] iio: sensors-core: st: Clean-up error handling in st_sensors_read_info_raw()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/10/13 13:49, Lee Jones wrote:
> Saving a few lines of code.
> 
> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
Applied to the togreg branch of iio.git.

To my mind the key thing here is that the error paths were previous
inconsistent in that all but the last one went via a separate cleanup path
whereas the last one went straight through.

Now they are consistent and that is more important than saving a few lines of code.

Thanks,
> ---
>  drivers/iio/common/st_sensors/st_sensors_core.c | 11 ++++-------
>  1 file changed, 4 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/iio/common/st_sensors/st_sensors_core.c b/drivers/iio/common/st_sensors/st_sensors_core.c
> index 148f0e5..25d4c7e 100644
> --- a/drivers/iio/common/st_sensors/st_sensors_core.c
> +++ b/drivers/iio/common/st_sensors/st_sensors_core.c
> @@ -359,28 +359,25 @@ int st_sensors_read_info_raw(struct iio_dev *indio_dev,
>  	mutex_lock(&indio_dev->mlock);
>  	if (indio_dev->currentmode == INDIO_BUFFER_TRIGGERED) {
>  		err = -EBUSY;
> -		goto read_error;
> +		goto out;
>  	} else {
>  		err = st_sensors_set_enable(indio_dev, true);
>  		if (err < 0)
> -			goto read_error;
> +			goto out;
>  
>  		msleep((sdata->sensor->bootime * 1000) / sdata->odr);
>  		err = st_sensors_read_axis_data(indio_dev, ch, val);
>  		if (err < 0)
> -			goto read_error;
> +			goto out;
>  
>  		*val = *val >> ch->scan_type.shift;
>  
>  		err = st_sensors_set_enable(indio_dev, false);
>  	}
> +out:
>  	mutex_unlock(&indio_dev->mlock);
>  
>  	return err;
> -
> -read_error:
> -	mutex_unlock(&indio_dev->mlock);
> -	return err;
>  }
>  EXPORT_SYMBOL(st_sensors_read_info_raw);
>  
> 
--
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




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux