ASoC: fsl_audmix: rework runtime PM handling in probe
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.12.110, 6.18.52, 7.2.6
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: ASoC: fsl_audmix: rework runtime PM handling in probe After pm_runtime_enable() 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 pm_runtime_resume_and_get() immediately after pm_runtime_enable() to power the hardware up and enable its clocks. Release the reference afterwards with pm_runtime_put() to allow the runtime PM framework to suspend the device and switch the regmap to cache-only mode when idle. When CONFIG_PM is disabled or runtime PM is not enabled, pm_runtime_* calls are stubs that do not power up the hardware. Handle this case explicitly by calling fsl_audmix_runtime_resume() directly so the hardware is always initialised and its clocks are enabled, ensuring register accesses succeed regardless of PM configuration.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From be1df61cf06efb355c90702e46b8d46f055acb4e · fixed in b5c3f8015af442c2411722cf8c220cfbae271230; From be1df61cf06efb355c90702e46b8d46f055acb4e · fixed in e921cc73fae68ccee932ad0a4fb11d637557db0e; From be1df61cf06efb355c90702e46b8d46f055acb4e · fixed in 22c944e440bc9b16c4ee409943d69bb8ef575c9e; From be1df61cf06efb355c90702e46b8d46f055acb4e · fixed in 3359ba93d01a23b2e4249e9e44ccfe48eb9c5d71
- Linux Linux
5.2
- KernelLinux
From 5.2.0 · fixed in 6.12.110; From 6.13.0 · fixed in 6.18.52; From 6.19.0 · fixed in 7.2.6