summaryrefslogtreecommitdiff
path: root/scripts/Makefile.thinlto
diff options
context:
space:
mode:
authorStepan Ionichev <sozdayvek@gmail.com>2026-05-14 17:37:10 +0300
committerJonathan Cameron <jic23@kernel.org>2026-05-16 19:33:15 +0300
commitbe843b0579f872ec7590d825e2c9a656d4790c4b (patch)
tree7103043485ff8a1877246faa8aa3f2bb754156fc /scripts/Makefile.thinlto
parent088fcb9b567f8723074ad9eb1bf5cb46f8a0096b (diff)
downloadlinux-be843b0579f872ec7590d825e2c9a656d4790c4b.tar.xz
iio: proximity: vl53l0x: notify trigger and clear IRQ on error paths
vl53l0x_trigger_handler() returns directly on the I2C read failure paths without calling iio_trigger_notify_done() or vl53l0x_clear_irq(). A single transient i2c_smbus_read_i2c_block_data() failure (negative errno or a short read) therefore leaves two pieces of state behind: - iio_trigger_notify_done() never decrements the trigger's use_count, so iio_trigger_poll_nested() silently drops further dispatches (see industrialio-trigger.c, the !atomic_read(&trig->use_count) guard); - vl53l0x_clear_irq() never writes SYSTEM_INTERRUPT_CLEAR, so the chip keeps the DRDY interrupt asserted. The sensor's buffer mode stays wedged from then on, recoverable only by re-binding the driver. The sibling driver vl53l1x-i2c.c handles exactly the same case correctly by jumping to a "notify_and_clear_irq" label that always calls both helpers; mirror that here. The bogus negative-int return value cast to irqreturn_t also goes away as a side effect. Fixes: 762186c6e7b1 ("iio: proximity: vl53l0x-i2c: Added continuous mode support") Signed-off-by: Stepan Ionichev <sozdayvek@gmail.com> Cc: <Stable@vger.kernel.org> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions