diff options
author | Lars-Peter Clausen <lars@metafoo.de> | 2012-07-04 17:09:00 +0100 |
---|---|---|
committer | Jonathan Cameron <jic23@kernel.org> | 2012-07-08 20:02:26 +0100 |
commit | abad65cbb2b53be39e8f55f9511cc53756860b1c (patch) | |
tree | f1f227ee31c15e44ea3b4923f408ab36bbd70992 | |
parent | 1764eff7d5d644310b87d7040c83fe5208c155f7 (diff) | |
download | linux-abad65cbb2b53be39e8f55f9511cc53756860b1c.tar.gz linux-abad65cbb2b53be39e8f55f9511cc53756860b1c.tar.bz2 linux-abad65cbb2b53be39e8f55f9511cc53756860b1c.zip |
staging:iio:ad7298: Do not return error code in interrupt handler
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>
-rw-r--r-- | drivers/staging/iio/adc/ad7298_ring.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/staging/iio/adc/ad7298_ring.c b/drivers/staging/iio/adc/ad7298_ring.c index cd3e9cb47a64..fd1d855ff57a 100644 --- a/drivers/staging/iio/adc/ad7298_ring.c +++ b/drivers/staging/iio/adc/ad7298_ring.c @@ -82,7 +82,7 @@ static irqreturn_t ad7298_trigger_handler(int irq, void *p) b_sent = spi_sync(st->spi, &st->ring_msg); if (b_sent) - return b_sent; + goto done; if (indio_dev->scan_timestamp) { time_ns = iio_get_time_ns(); @@ -95,6 +95,8 @@ static irqreturn_t ad7298_trigger_handler(int irq, void *p) buf[i] = be16_to_cpu(st->rx_buf[i]); indio_dev->buffer->access->store_to(ring, (u8 *)buf, time_ns); + +done: iio_trigger_notify_done(indio_dev->trig); return IRQ_HANDLED; |