On 13/05/16 19:43, Crestez Dan Leonard wrote:
> This fixes odd behavior after reboot.
> 
> The fact that we set the device to powerdown mode is not sufficient to
> prevent DRDY being active because we might still have an unread sample.
> 
> Even if powerdown was sufficient keeping DRDY disabled while trigger is
> not active is a good idea.
> 
> Cc: Linus Walleij <linus.wall...@linaro.org>
> Cc: Giuseppe Barba <giuseppe.ba...@st.com>
> Cc: Denis Ciocca <denis.cio...@st.com>
> Signed-off-by: Crestez Dan Leonard <leonard.cres...@intel.com>
Again, this one seems obviously correct to me, but would like Denis Ack.

Jonathan
> ---
>  drivers/iio/common/st_sensors/st_sensors_core.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/iio/common/st_sensors/st_sensors_core.c 
> b/drivers/iio/common/st_sensors/st_sensors_core.c
> index 928ee68..9e59c90 100644
> --- a/drivers/iio/common/st_sensors/st_sensors_core.c
> +++ b/drivers/iio/common/st_sensors/st_sensors_core.c
> @@ -363,6 +363,11 @@ int st_sensors_init_sensor(struct iio_dev *indio_dev,
>       if (err < 0)
>               return err;
>  
> +     /* Disable DRDY, this might be still be enabled after reboot. */
> +     err = st_sensors_set_dataready_irq(indio_dev, false);
> +     if (err < 0)
> +             return err;
> +
>       if (sdata->current_fullscale) {
>               err = st_sensors_set_fullscale(indio_dev,
>                                               sdata->current_fullscale->num);
> 

Reply via email to