From 1c19601ddceda1517511e4bad3d24619e765c78c Mon Sep 17 00:00:00 2001 From: Srinivasa Rao Mandadapu Date: Tue, 15 Mar 2022 20:15:31 +0530 Subject: [PATCH] ASoC: codecs: Fix misplaced lpass_macro_pds_exit call 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 Co-developed-by: Venkata Prasad Potturu Signed-off-by: Venkata Prasad Potturu Link: https://lore.kernel.org/r/1647355531-4150-1-git-send-email-quic_srivasam@quicinc.com Signed-off-by: Mark Brown --- sound/soc/codecs/lpass-tx-macro.c | 4 ++-- sound/soc/codecs/lpass-va-macro.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sound/soc/codecs/lpass-tx-macro.c b/sound/soc/codecs/lpass-tx-macro.c index b492d5984819..714a411d5337 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 275f2cd78c9c..37674f68616b 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; }