Re: [PATCH 3/7] iio: adis16475: do not return ints in irq handlers

Alexandru Ardelean
2021-04-14T07:27:43Z

On Tue, Apr 13, 2021 at 5:45 PM Nuno Sa <nuno.sa@analog.com> wrote:
>
> On an IRQ handler we should return normal error codes as 'irqreturn_t'
> is expected.
>
> Fixes: fff7352bf7a3c ("iio: imu: Add support for adis16475")
>
> Signed-off-by: Nuno Sa <nuno.sa@analog.com>
> ---
> drivers/iio/imu/adis16475.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iio/imu/adis16475.c b/drivers/iio/imu/adis16475.c
> index 1de62fc79e0f..51b76444db0b 100644
> --- a/drivers/iio/imu/adis16475.c
> +++ b/drivers/iio/imu/adis16475.c
> @@ -1068,7 +1068,7 @@ static irqreturn_t adis16475_trigger_handler(int irq, void *p)
>
> ret = spi_sync(adis->spi, &adis->msg);
> if (ret)
> - return ret;
> + goto check_burst32;

This is also going to call adis16475_burst32_check().
Which in itself is [probably] an undesired behavior change.

Maybe this needs a new 'irq_done' label?

>
> adis->spi->max_speed_hz = cached_spi_speed_hz;
> buffer = adis->buffer;
> --
> 2.31.1
>