Executive brief
The Linux kernel's ltrf216a light sensor driver fails to properly release power management resources when a sensor read operation fails, leaving the device unable to enter low-power sleep mode. This causes the device to remain in an elevated power state, wasting battery and preventing automatic power down after errors.
Technical details
The ltrf216a_get_lux() function acquires a runtime PM reference via ltrf216a_set_power_state(data, true) but immediately returns without releasing it when ltrf216a_read_data() fails. This is a resource leak that leaves the runtime PM usage count unbalanced. The fix moves the ltrf216a_set_power_state(data, false) call earlier in the function, before the error check, ensuring it executes regardless of whether the read succeeds. The vulnerability affects the Linux kernel's Industrial I/O (iio) subsystem in the ltrf216a driver and is resolved by reordering cleanup code.
Affected products
- Linux Linux kernel Affected versions in iio: light: ltrf216a driver; patched in commit c132aef0e757a39036b1d40faf0569f2e343b13e
Timeline
- 2026-09-16: disclosed
- 2026-07-13: patched: Upstream commit c132aef0e757a39036b1d40faf0569f2e343b13e
- 2026-09-11: advisory: Stable kernel commit merged