Re: [PATCH 2/7] iio: adis16400: do not return ints in irq handlers

Alexandru Ardelean
2021-04-14T07:24:09Z

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.
>

Reviewed-by: Alexandru Ardelean <ardeleanalex@gmail.com>

> Fixes: 5eda3550a3cc1 ("staging:iio:adis16400: Preallocate transfer message")
> Signed-off-by: Nuno Sa <nuno.sa@analog.com>
> ---
> drivers/iio/imu/adis16400.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/iio/imu/adis16400.c b/drivers/iio/imu/adis16400.c
> index 768aa493a1a6..c2362a9ee3c3 100644
> --- a/drivers/iio/imu/adis16400.c
> +++ b/drivers/iio/imu/adis16400.c
> @@ -646,7 +646,7 @@ static irqreturn_t adis16400_trigger_handler(int irq, void *p)
> int ret;
>
> if (!adis->buffer)
> - return -ENOMEM;
> + goto irq_done;
>
> if (!(st->variant->flags & ADIS16400_NO_BURST) &&
> st->adis.spi->max_speed_hz > ADIS16400_SPI_BURST) {
> @@ -671,6 +671,7 @@ static irqreturn_t adis16400_trigger_handler(int irq, void *p)
> iio_push_to_buffers_with_timestamp(indio_dev, buffer,
> pf->timestamp);
>
> +irq_done:
> iio_trigger_notify_done(indio_dev->trig);
>
> return IRQ_HANDLED;
> --
> 2.31.1
>