Commit 45f31bfc authored by Mythri P K's avatar Mythri P K Committed by Mark Brown

ASoC: Intel: use lock when changing SST state.

SST state change should be done under sst_lock
Signed-off-by: default avatarMythri P K <mythri.p.k@intel.com>
Signed-off-by: default avatarSubhransu S. Prusty <subhransu.s.prusty@intel.com>
Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent d62f2a08
...@@ -463,15 +463,13 @@ static int intel_sst_runtime_resume(struct device *dev) ...@@ -463,15 +463,13 @@ static int intel_sst_runtime_resume(struct device *dev)
int ret = 0; int ret = 0;
struct intel_sst_drv *ctx = dev_get_drvdata(dev); struct intel_sst_drv *ctx = dev_get_drvdata(dev);
mutex_lock(&ctx->sst_lock);
if (ctx->sst_state == SST_RESET) { if (ctx->sst_state == SST_RESET) {
ret = sst_load_fw(ctx); ret = sst_load_fw(ctx);
if (ret) { if (ret) {
dev_err(dev, "FW download fail %d\n", ret); dev_err(dev, "FW download fail %d\n", ret);
ctx->sst_state = SST_RESET; sst_set_fw_state_locked(ctx, SST_RESET);
} }
} }
mutex_unlock(&ctx->sst_lock);
return ret; return ret;
} }
......
...@@ -230,7 +230,7 @@ static void process_fw_init(struct intel_sst_drv *sst_drv_ctx, ...@@ -230,7 +230,7 @@ static void process_fw_init(struct intel_sst_drv *sst_drv_ctx,
dev_dbg(sst_drv_ctx->dev, "*** FW Init msg came***\n"); dev_dbg(sst_drv_ctx->dev, "*** FW Init msg came***\n");
if (init->result) { if (init->result) {
sst_drv_ctx->sst_state = SST_RESET; sst_set_fw_state_locked(sst_drv_ctx, SST_RESET);
dev_err(sst_drv_ctx->dev, "FW Init failed, Error %x\n", dev_err(sst_drv_ctx->dev, "FW Init failed, Error %x\n",
init->result); init->result);
retval = init->result; retval = init->result;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment