summaryrefslogtreecommitdiff
path: root/sound/soc/fsl/fsl_dsp.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/fsl/fsl_dsp.c')
-rw-r--r--sound/soc/fsl/fsl_dsp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sound/soc/fsl/fsl_dsp.c b/sound/soc/fsl/fsl_dsp.c
index 64e9b4f7b3e6..4cf051449f21 100644
--- a/sound/soc/fsl/fsl_dsp.c
+++ b/sound/soc/fsl/fsl_dsp.c
@@ -1258,13 +1258,17 @@ static int fsl_dsp_suspend(struct device *dev)
struct xf_proxy *proxy = &dsp_priv->proxy;
int ret = 0;
- if (proxy->is_ready) {
+ if (proxy->is_ready & pm_runtime_active(dev)) {
ret = xf_cmd_send_suspend(proxy);
if (ret) {
dev_err(dev, "dsp suspend fail\n");
return ret;
}
}
+ if (dsp_priv->dsp_board_type == DSP_IMX8MP_TYPE) {
+ dsp_priv->dsp_mu_init = 0;
+ proxy->is_ready = 0;
+ }
ret = pm_runtime_force_suspend(dev);