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

Nuno Sa
2021-04-13T11:19:08Z

On an IRQ handler we should return normal error codes as 'irqreturn_t'
is expected.

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