summaryrefslogtreecommitdiff
path: root/drivers/staging/iio/accel/adis16204_ring.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/iio/accel/adis16204_ring.c')
-rw-r--r--drivers/staging/iio/accel/adis16204_ring.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/staging/iio/accel/adis16204_ring.c b/drivers/staging/iio/accel/adis16204_ring.c
index f73518b..1d2b31c 100644
--- a/drivers/staging/iio/accel/adis16204_ring.c
+++ b/drivers/staging/iio/accel/adis16204_ring.c
@@ -66,7 +66,7 @@ static irqreturn_t adis16204_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) &&
@@ -81,8 +81,9 @@ static irqreturn_t adis16204_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;
}