diff options
| author | Stepan Ionichev <sozdayvek@gmail.com> | 2026-05-18 23:11:38 +0500 |
|---|---|---|
| committer | Jonathan Cameron <jic23@kernel.org> | 2026-06-03 18:29:09 +0100 |
| commit | ae696dfa47c30016cd429b9db5e70b259b8f509e (patch) | |
| tree | 67ef4099032cbe5cb92368e432646be470f0835e /scripts | |
| parent | eb60a24b35bfb9e85a272e561379833e49a12a79 (diff) | |
iio: adc: nxp-sar-adc: harden buffer ISR against per-channel read failure
nxp_sar_adc_isr_buffer() bails on the first channel-read failure
without calling iio_trigger_notify_done(), so the trigger use_count
is left incremented and iio_trigger_poll_chained() drops subsequent
dispatches until the device is rebound.
Reaching this path means a state machine has gone wrong (driver bug
or the SAR ADC in an unexpected state) rather than a transient bus
issue, so this is hardening rather than a bug fix. If the underlying
condition persists the device is wedged and needs an unbind anyway.
Call iio_trigger_notify_done() on the error exit too, matching the
success path. The nxp_sar_adc_read_notify() duplication is intentional
and avoids a goto label for a two-line bail-out, as suggested by David.
Signed-off-by: Stepan Ionichev <sozdayvek@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions
