From: phucduc.bui@gmail.com
To: Shengjiu Wang <shengjiu.wang@gmail.com>,
Shengjiu Wang <shengjiu.wang@nxp.com>,
Xiubo Li <Xiubo.Lee@gmail.com>,
Fabio Estevam <festevam@gmail.com>,
Nicolin Chen <nicoleotsuka@gmail.com>,
Mark Brown <broonie@kernel.org>
Cc: Liam Girdwood <lgirdwood@gmail.com>,
Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
linuxppc-dev@lists.ozlabs.org, linux-sound@vger.kernel.org,
linux-kernel@vger.kernel.org,
bui duc phuc <phucduc.bui@gmail.com>
Subject: [PATCH 1/5] ASoC: fsl_sai: Fix PM QoS cleanup on resume failure
Date: Fri, 30 Oct 2026 16:14:00 +0700 [thread overview]
Message-ID: <20261030091404.18757-2-phucduc.bui@gmail.com> (raw)
In-Reply-To: <20261030091404.18757-1-phucduc.bui@gmail.com>
From: bui duc phuc <phucduc.bui@gmail.com>
If regcache_sync() fails during runtime resume, the CPU latency
QoS request remains active even though the resume operation
failed.
Switch the regmap back to cache-only mode and remove the PM QoS
request before disabling the clocks, ensuring that the resources
enabled earlier in the resume path are properly cleaned up.
Fixes: 907e0cdebc1f ("ASoC: fsl_sai: Add pm qos cpu latency support")
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/fsl/fsl_sai.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/sound/soc/fsl/fsl_sai.c b/sound/soc/fsl/fsl_sai.c
index d232c8f53061..042885ba415e 100644
--- a/sound/soc/fsl/fsl_sai.c
+++ b/sound/soc/fsl/fsl_sai.c
@@ -1981,7 +1981,7 @@ static int fsl_sai_runtime_resume(struct device *dev)
ret = regcache_sync(sai->regmap);
if (ret)
- goto disable_rx_clk;
+ goto remove_qos;
if (sai->soc_data->mclk_with_tere && sai->mclk_direction_output)
regmap_update_bits(sai->regmap, FSL_SAI_TCSR(ofs),
@@ -1989,7 +1989,12 @@ static int fsl_sai_runtime_resume(struct device *dev)
return 0;
-disable_rx_clk:
+remove_qos:
+ regcache_cache_only(sai->regmap, true);
+
+ if (sai->soc_data->flags & PMQOS_CPU_LATENCY)
+ cpu_latency_qos_remove_request(&sai->pm_qos_req);
+
if (sai->mclk_streams & BIT(SNDRV_PCM_STREAM_CAPTURE))
clk_disable_unprepare(sai->mclk_clk[sai->mclk_id[0]]);
disable_tx_clk:
--
2.43.0
next prev parent reply other threads:[~2026-10-30 9:14 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-30 9:13 [PATCH 0/5] ASoC: fsl_sai: Address several issues in the driver phucduc.bui
2026-10-30 9:14 ` phucduc.bui [this message]
2026-10-30 9:14 ` [PATCH 2/5] ASoC: fsl_sai: Use optional clock getter for MCLKs phucduc.bui
2026-10-30 9:14 ` [PATCH 3/5] ASoC: fsl_sai: Remove redundant error messages phucduc.bui
2026-10-30 9:14 ` [PATCH 4/5] ASoC: fsl_sai: Propagate device tree property read errors phucduc.bui
2026-10-30 9:14 ` [PATCH 5/5] ASoC: fsl_sai: Drop redundant dataline mask AND phucduc.bui
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261030091404.18757-2-phucduc.bui@gmail.com \
--to=phucduc.bui@gmail.com \
--cc=Xiubo.Lee@gmail.com \
--cc=broonie@kernel.org \
--cc=festevam@gmail.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=nicoleotsuka@gmail.com \
--cc=perex@perex.cz \
--cc=shengjiu.wang@gmail.com \
--cc=shengjiu.wang@nxp.com \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.