CVE-2026-93184: ASoC: fsl_audmix: rework runtime PM handling in probe
In the Linux kernel, the following vulnerability has been resolved:
ASoC: fslaudmix: rework runtime PM handling in probe
After pmruntimeenable() the AUDMIX block is powered off and stays suspended until the first runtime resume. Register writes issued between probe() and the first resume (e.g. from DAPM or ALSA control paths) target unpowered hardware and cause a system hang.
Fix this by calling pmruntimeresumeandget() immediately after pmruntimeenable() to power the hardware up and enable its clocks. Release the reference afterwards with pmruntimeput() to allow the runtime PM framework to suspend the device and switch the regmap to cache-only mode when idle.
When CONFIGPM is disabled or runtime PM is not enabled, pmruntime calls are stubs that do not power up the hardware. Handle this case explicitly by calling fslaudmixruntimeresume() directly so the hardware is always initialised and its clocks are enabled, ensuring register accesses succeed regardless of PM configuration.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 6.12.115-2Fixed in 7.2.12-1Fixed in 7.2.15-1 - Upgrade
Upgrade
debian/linux-6.12to a version that resolves this vulnerability.Fixed in 6.12.113-1~deb12u1 - Upgrade
Upgrade
ubuntu/linux-hwe-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42~24.04.1 - Upgrade
Upgrade
ubuntu/linux-riscv-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1~24.04.1 - Upgrade
Upgrade
ubuntu/linuxto a version that resolves this vulnerability.Fixed in 7.0.0-42.42 - Upgrade
Upgrade
ubuntu/linux-awsto a version that resolves this vulnerability.Fixed in 7.0.0-1016.17 - Upgrade
Upgrade
ubuntu/linux-gcpto a version that resolves this vulnerability.Fixed in 7.0.0-1016.18 - Upgrade
Upgrade
ubuntu/linux-ibmto a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oem-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oracleto a version that resolves this vulnerability.Fixed in 7.0.0-1015.16 - Upgrade
Upgrade
ubuntu/linux-riscvto a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1 - Upgrade
Upgrade
linux/Kernelto a version that resolves this vulnerability.Fixed in 6.12.110 - Upgrade
Upgrade
linux/Kernelto a version that resolves this vulnerability.Fixed in 6.18.52 - Upgrade
Upgrade
linux/Kernelto a version that resolves this vulnerability.Fixed in 7.2.6 - Compensating control
In fsl_audmix probe(), call pm_runtime_resume_and_get() immediately after pm_runtime_enable() to power up the AUDMIX hardware and enable its clocks; release the reference with pm_runtime_put(). When CONFIG_PM is disabled or runtime PM is not enabled, call fsl_audmix_runtime_resume() directly so the hardware is initialized and its clocks are enabled.
Event History
Frequently Asked Questions
Which systems are exposed to the hang condition?
Systems using the Linux kernel fsl_audmix ASoC driver are exposed when register writes occur after probe completes but before the device's first runtime resume. This can occur through DAPM or ALSA control paths while the AUDMIX hardware remains powered off.
Does disabling power-management support avoid the issue?
No. With CONFIG_PM disabled or runtime PM not enabled, pm_runtime calls are stubs and do not power up the hardware, so explicit runtime-resume initialization is needed to enable the hardware and its clocks.
What change addresses the issue?
The fix powers the device up immediately after runtime PM is enabled using pm_runtime_resume_and_get(), then releases the reference with pm_runtime_put(). It also directly calls fsl_audmix_runtime_resume() when runtime PM is unavailable so register accesses target initialized hardware.