CVE-2026-93184: ASoC: fsl_audmix: rework runtime PM handling in probe

Published Sep 17, 2026
·
Updated

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

1 affected component
Linux Kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    In fsl_audmix probe(), immediately call pm_runtime_resume_and_get() right after pm_runtime_enable() so the AUDMIX block powers on and does not remain powered off.

    Linux kernel driver: fsl_audmix runtime PM handling sequence in probe() = Call pm_runtime_resume_and_get() immediately after pm_runtime_enable()
  2. Configuration

    When CONFIG_PM is disabled or runtime PM is not enabled (so pm_runtime_* calls are stubs/cache-only), explicitly invoke fsl_audmix_runtime_resume() so hardware is initialised and its clocks are enabled, ensuring register accesses succeed from DAPM/ALSA control paths.

    Linux kernel driver: fsl_audmix runtime resume path under CONFIG_PM disabled or runtime PM not enabled = Call fsl_audmix_runtime_resume() explicitly
  3. Configuration

    After performing register writes while holding the runtime PM reference (via pm_runtime_resume_and_get()), release the reference afterwards with pm_runtime_put() to allow the runtime PM framework to suspend the device and switch regmap back to suspended.

    Linux kernel driver: fsl_audmix runtime PM reference handling = Release reference with pm_runtime_put() after register writes

Event History

Sep 17, 2026
CVE Published
via MITRE·04:12 PM
Data Sourced
via MITRE·04:12 PM
Description

Frequently Asked Questions

1

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.

2

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.

3

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.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203