Executive brief
The Qualcomm Iris video encoder/decoder driver in the Linux kernel did not properly handle failures when resuming from runtime power management. If hardware wake-up failed during device shutdown, the driver would attempt operations on sleeping hardware and fail to clean up power management state correctly, potentially leaving the system in an inconsistent power state or causing kernel warnings.
Technical details
This is a missing error check in the media/platform/qcom/iris/iris_core.c driver code. The iris_core_deinit() function called pm_runtime_resume_and_get() without checking its return value. If runtime PM resume failed, the function would still attempt to call iris_vpu_power_off() (which assumes hardware is powered on) and pm_runtime_put_sync(), leading to unbalanced runtime PM reference counts. The fix adds a return value check: if resume fails, the function skips hardware power-off but still performs software teardown and state transition, and skips the corresponding put_sync() call to maintain PM balance. No remote exploit vector; local impact only through affected device shutdown paths.
Affected products
- Linux Linux kernel multiple versions (fix applied across stable branches)
Timeline
- 2026-09-17: disclosed: NVD publication date
- 2026-06-04: patched: Original patch authored by Hungyu Lin
- 2026-07-30: patched: Mainline commit 75d79879ec3cbfd288144b0ae4c3e3fa7700c5fc merged