diff mbox series

ASoC: codecs: Fix misplaced lpass_macro_pds_exit call

Message ID 1647355531-4150-1-git-send-email-quic_srivasam@quicinc.com
State Accepted
Commit 1c19601ddceda1517511e4bad3d24619e765c78c
Headers show
Series ASoC: codecs: Fix misplaced lpass_macro_pds_exit call | expand

Commit Message

Srinivasa Rao Mandadapu March 15, 2022, 2:45 p.m. UTC
Update power domains exit function calling from runtime resume
to remove function which was wrongly placed and causing crash in
device suspend and resume.

Fixes: 9e3d83c52844 ("ASoC: codecs: Add power domains support in digital macro codecs")
Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
Co-developed-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Signed-off-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
---
 sound/soc/codecs/lpass-tx-macro.c | 4 ++--
 sound/soc/codecs/lpass-va-macro.c | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
diff mbox series

Patch

diff --git a/sound/soc/codecs/lpass-tx-macro.c b/sound/soc/codecs/lpass-tx-macro.c
index b492d598..714a411 100644
--- a/sound/soc/codecs/lpass-tx-macro.c
+++ b/sound/soc/codecs/lpass-tx-macro.c
@@ -1920,6 +1920,8 @@  static int tx_macro_remove(struct platform_device *pdev)
 	clk_disable_unprepare(tx->npl);
 	clk_disable_unprepare(tx->fsgen);
 
+	lpass_macro_pds_exit(tx->pds);
+
 	return 0;
 }
 
@@ -1964,8 +1966,6 @@  static int __maybe_unused tx_macro_runtime_resume(struct device *dev)
 	regcache_sync(tx->regmap);
 	tx->reset_swr = true;
 
-	lpass_macro_pds_exit(tx->pds);
-
 	return 0;
 err_fsgen:
 	clk_disable_unprepare(tx->npl);
diff --git a/sound/soc/codecs/lpass-va-macro.c b/sound/soc/codecs/lpass-va-macro.c
index 300f4f6..f3cb596 100644
--- a/sound/soc/codecs/lpass-va-macro.c
+++ b/sound/soc/codecs/lpass-va-macro.c
@@ -1503,6 +1503,8 @@  static int va_macro_remove(struct platform_device *pdev)
 	clk_disable_unprepare(va->dcodec);
 	clk_disable_unprepare(va->macro);
 
+	lpass_macro_pds_exit(va->pds);
+
 	return 0;
 }
 
@@ -1532,8 +1534,6 @@  static int __maybe_unused va_macro_runtime_resume(struct device *dev)
 	regcache_cache_only(va->regmap, false);
 	regcache_sync(va->regmap);
 
-	lpass_macro_pds_exit(va->pds);
-
 	return 0;
 }