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@xxxxxxxxxx> --- 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