Skip to content

Commit

Permalink
staging:iio:adis16260: Do not return error code in the interrupt handler
Browse files Browse the repository at this point in the history
The interrupt handler should only ever return one of the three irqreturn_t
constants and not an error code. Also make sure to always call
iio_trigger_notify_done before leaving the trigger handler.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
  • Loading branch information
Lars-Peter Clausen authored and Jonathan Cameron committed Jul 8, 2012
1 parent 67bd5e2 commit b82ed7d
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions drivers/staging/iio/gyro/adis16260_ring.c
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ static irqreturn_t adis16260_trigger_handler(int irq, void *p)
data = kmalloc(indio_dev->scan_bytes, GFP_KERNEL);
if (data == NULL) {
dev_err(&st->us->dev, "memory alloc failed in ring bh");
return -ENOMEM;
goto done;
}

if (!bitmap_empty(indio_dev->active_scan_mask, indio_dev->masklength) &&
Expand All @@ -84,8 +84,9 @@ static irqreturn_t adis16260_trigger_handler(int irq, void *p)

ring->access->store_to(ring, (u8 *)data, pf->timestamp);

iio_trigger_notify_done(indio_dev->trig);
kfree(data);
done:
iio_trigger_notify_done(indio_dev->trig);

return IRQ_HANDLED;
}
Expand Down

0 comments on commit b82ed7d

Please sign in to comment.