Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -463,15 +463,13 @@ static int intel_sst_runtime_resume(struct device *dev)
	int ret = 0;
	struct intel_sst_drv *ctx = dev_get_drvdata(dev);

	mutex_lock(&ctx->sst_lock);
	if (ctx->sst_state == SST_RESET) {
		ret = sst_load_fw(ctx);
		if (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;
}

+1 −1
Original line number Diff line number Diff line
@@ -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");
	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",
				init->result);
		retval = init->result;