diff options
author | Mythri P K <mythri.p.k@intel.com> | 2014-10-31 12:38:21 +0530 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2014-10-31 12:47:44 +0000 |
commit | 45f31bfcda0c6e5f11168de10c85f3dd20337bdf (patch) | |
tree | 73d14e359938e27ab0c25ad98c4ace2f7a062edd /sound/soc/intel | |
parent | d62f2a08b9d657344b2e271e8274f9d8f746e543 (diff) | |
download | linux-45f31bfcda0c6e5f11168de10c85f3dd20337bdf.tar.bz2 |
ASoC: Intel: use lock when changing SST state.
SST state change should be done under sst_lock
Signed-off-by: Mythri P K <mythri.p.k@intel.com>
Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/intel')
-rw-r--r-- | sound/soc/intel/sst/sst.c | 4 | ||||
-rw-r--r-- | sound/soc/intel/sst/sst_ipc.c | 2 |
2 files changed, 2 insertions, 4 deletions
diff --git a/sound/soc/intel/sst/sst.c b/sound/soc/intel/sst/sst.c index 7b8a110b213d..04af2460f9cc 100644 --- a/sound/soc/intel/sst/sst.c +++ b/sound/soc/intel/sst/sst.c @@ -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; } diff --git a/sound/soc/intel/sst/sst_ipc.c b/sound/soc/intel/sst/sst_ipc.c index 2126f5bb2813..484e60978477 100644 --- a/sound/soc/intel/sst/sst_ipc.c +++ b/sound/soc/intel/sst/sst_ipc.c @@ -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; |