iio: ltr501: Don't return error code in trigger handler
authorLars-Peter Clausen <lars@metafoo.de>
Sun, 24 Oct 2021 17:12:49 +0000 (19:12 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Wed, 17 Nov 2021 17:52:33 +0000 (17:52 +0000)
commitef9d67fa72c1b149a420587e435a3e888bdbf74f
tree719f6883f493a2d9241bc0b4f485ae74253bbbe7
parent70c9774e180d151abaab358108e3510a8e615215
iio: ltr501: Don't return error code in trigger handler

IIO trigger handlers need to return one of the irqreturn_t values.
Returning an error code is not supported.

The ltr501 interrupt handler gets this right for most error paths, but
there is one case where it returns the error code.

In addition for this particular case the trigger handler does not call
`iio_trigger_notify_done()`. Which when not done keeps the triggered
disabled forever.

Modify the code so that the function returns a valid irqreturn_t value as
well as calling `iio_trigger_notify_done()` on all exit paths.

Fixes: 2690be905123 ("iio: Add Lite-On ltr501 ambient light / proximity sensor driver")
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Link: https://lore.kernel.org/r/20211024171251.22896-1-lars@metafoo.de
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/light/ltr501.c