aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/intel
diff options
context:
space:
mode:
authorHarsha Priya <harshapriya.n@intel.com>2016-08-30 23:13:05 -0700
committerMark Brown <broonie@kernel.org>2016-09-01 20:52:13 +0100
commitde34dcfe70576792a6312f9af4a1f880182b2d3b (patch)
tree7a9d7aca4cf8043c81248934e335b158563e0820 /sound/soc/intel
parentASoC: Intel: Skylake: Fix error return code in skl_probe() (diff)
downloadlinux-dev-de34dcfe70576792a6312f9af4a1f880182b2d3b.tar.xz
linux-dev-de34dcfe70576792a6312f9af4a1f880182b2d3b.zip
ASoC: Intel: Atom: Fix message handling during drop stream
If a stream is being dropped, the period_elapsed received then after need not be processed. Processing of the period_elapsed message causes a time out in drop stream response processing. This patch adds a condition to skip period_elapsed message processing if the stream is in INIT state. Signed-off-by: Harsha Priya <harshapriya.n@intel.com> Signed-off-by: Naveen M <naveen.m@intel.com> Acked-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/atom/sst/sst_ipc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/soc/intel/atom/sst/sst_ipc.c b/sound/soc/intel/atom/sst/sst_ipc.c
index 8afa6fe7b0b0..bfc889950bb2 100644
--- a/sound/soc/intel/atom/sst/sst_ipc.c
+++ b/sound/soc/intel/atom/sst/sst_ipc.c
@@ -267,6 +267,9 @@ static void process_fw_async_msg(struct intel_sst_drv *sst_drv_ctx,
"Period elapsed rcvd for pipe id 0x%x\n",
pipe_id);
stream = &sst_drv_ctx->streams[str_id];
+ /* If stream is dropped, skip processing this message*/
+ if (stream->status == STREAM_INIT)
+ break;
if (stream->period_elapsed)
stream->period_elapsed(stream->pcm_substream);
if (stream->compr_cb)