CVE-2026-99089: ASoC: samsung: i2s: enable op_clk in probe to balance runtime PM
In the Linux kernel, the following vulnerability has been resolved:
ASoC: samsung: i2s: enable opclk in probe to balance runtime PM
The probe function puts the device into the runtime PM active state with only the "iis" bus clock enabled, but it also sets priv->opclk to the parent of the RCLKSRC mux without enabling it. The runtime PM suspend callback disables both clocks, so the first runtime suspend after probe disables opclk once more than it was enabled.
On Exynos5250 Arndale both clocks resolve to the same EXYNOSI2SBUS gate, so this triggers the following warning during boot:
WARNING: drivers/clk/clk.c:1270 at clkcoredisable+0xe4/0x23c, CPU#0: kworker/u8:3/45 i2sbus already disabled ... Workqueue: pm pmruntimework Call trace: ... clkcoredisable from clkdisable+0x28/0x34 clkdisable from i2sruntimesuspend+0x58/0x68 [sndsoci2s] i2sruntimesuspend [sndsoci2s] from genpdruntimesuspend+0xc4/0x298 genpdruntimesuspend from rpmcallback+0x48/0x18c rpmcallback from rpmcallback+0x4c/0x50 rpmcallback from rpmsuspend+0xf4/0x718 rpmsuspend from pmruntimework+0x9c/0xa0 ...
Fix this by enabling opclk in probe right after getting it, so the clock state matches the runtime PM active state, and by disabling it in remove.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Enable op_clk in probe immediately after obtaining it so the runtime PM active state matches the clock state; disable it in remove.
ASoC Samsung I2S driver op_clk = enabled