]> git.baikalelectronics.ru Git - kernel.git/commit
iio: kxsd9: Don't return error code in trigger handler
authorLars-Peter Clausen <lars@metafoo.de>
Sun, 24 Oct 2021 17:12:50 +0000 (19:12 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 14 Dec 2021 09:57:21 +0000 (10:57 +0100)
commitc5a5fe2f50a8282f7d2d4ad34022e10ab6b74d4a
tree760d1185bbc667454d030d2379a8c066b179c9bf
parentef72615350ace7b722751e0d6fb0e860a6b6d7d1
iio: kxsd9: Don't return error code in trigger handler

commit ef34d96ba1c3f18a9abe5bbfdf1c32c563c2f328 upstream.

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

The kxsd9 interrupt handler returns an error code if reading the data
registers fails. In addition when exiting due to an error 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.

Since we can't return the error code make sure to at least log it as part
of the error message.

Fixes: 9ff8ce09e5bb ("iio: accel: kxsd9: Add triggered buffer handling")
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20211024171251.22896-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/accel/kxsd9.c