Skip to content

Commit

Permalink
staging:iio:ad799x: Do not return error code in 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 a1bdeef commit f654a7e
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 4 deletions.
5 changes: 3 additions & 2 deletions drivers/staging/iio/adc/ad799x_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -350,10 +350,10 @@ static irqreturn_t ad799x_event_handler(int irq, void *private)

ret = ad799x_i2c_read8(st, AD7998_ALERT_STAT_REG, &status);
if (ret)
return ret;
goto done;

if (!status)
return -EIO;
goto done;

ad799x_i2c_write8(st, AD7998_ALERT_STAT_REG, AD7998_ALERT_STAT_CLEAR);

Expand All @@ -372,6 +372,7 @@ static irqreturn_t ad799x_event_handler(int irq, void *private)
iio_get_time_ns());
}

done:
return IRQ_HANDLED;
}

Expand Down
2 changes: 0 additions & 2 deletions drivers/staging/iio/adc/ad799x_ring.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,6 @@ static irqreturn_t ad799x_trigger_handler(int irq, void *p)
ring->access->store_to(indio_dev->buffer, rxbuf, time_ns);
done:
kfree(rxbuf);
if (b_sent < 0)
return b_sent;
out:
iio_trigger_notify_done(indio_dev->trig);

Expand Down

0 comments on commit f654a7e

Please sign in to comment.