Executive brief
The Linux kernel's industrial I/O (IIO) atlas chemical sensor driver fails to properly release power management resources when interrupt configuration fails during buffer activation. This resource leak prevents the device from entering power-saving modes, potentially degrading battery life and increasing power consumption on systems with this sensor hardware.
Technical details
A resource leak exists in the atlas_buffer_postenable() function in the atlas-sensor driver. The function acquires a runtime PM reference via pm_runtime_resume_and_get() but returns the result of atlas_set_interrupt() directly without releasing the PM reference on error. If atlas_set_interrupt() fails, the PM reference remains unreleased, preventing the device from autosuspending. The fix adds pm_runtime_put_autosuspend() on the error path to balance the reference count. This is a straightforward error handling defect with no authentication or network requirements.
Affected products
- Linux Linux kernel multiple stable versions (linux-4.x through linux-7.x as indicated in patch distribution)
Timeline
- 2026-09-16: disclosed: Published on NVD
- 2026-09-11: patched: Fix committed by Greg Kroah-Hartman to stable tree
- 2026-07-13: other: Original fix authored by Moksh Panicker