| From 6661146427cbbce6d1fe3dbb11ff1c487f55799a Mon Sep 17 00:00:00 2001 |
| From: Lars-Peter Clausen <lars@metafoo.de> |
| Date: Mon, 1 Nov 2021 15:40:55 +0100 |
| Subject: iio: ad7768-1: Call iio_trigger_notify_done() on error |
| |
| From: Lars-Peter Clausen <lars@metafoo.de> |
| |
| commit 6661146427cbbce6d1fe3dbb11ff1c487f55799a upstream. |
| |
| IIO trigger handlers must call iio_trigger_notify_done() when done. This |
| must be done even when an error occurred. Otherwise the trigger will be |
| seen as busy indefinitely and the trigger handler will never be called |
| again. |
| |
| The ad7768-1 driver neglects to call iio_trigger_notify_done() when there |
| is an error reading the converter data. Fix this by making sure that |
| iio_trigger_notify_done() is included in the error exit path. |
| |
| Fixes: a5f8c7da3dbe ("iio: adc: Add AD7768-1 ADC basic support") |
| Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> |
| Link: https://lore.kernel.org/r/20211101144055.13858-2-lars@metafoo.de |
| Cc: <Stable@vger.kernel.org> |
| Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/iio/adc/ad7768-1.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/iio/adc/ad7768-1.c |
| +++ b/drivers/iio/adc/ad7768-1.c |
| @@ -470,8 +470,8 @@ static irqreturn_t ad7768_trigger_handle |
| iio_push_to_buffers_with_timestamp(indio_dev, &st->data.scan, |
| iio_get_time_ns(indio_dev)); |
| |
| - iio_trigger_notify_done(indio_dev->trig); |
| err_unlock: |
| + iio_trigger_notify_done(indio_dev->trig); |
| mutex_unlock(&st->lock); |
| |
| return IRQ_HANDLED; |