aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/intel
diff options
context:
space:
mode:
authorHarsha Priya <harshapriya.n@intel.com>2016-08-31 02:13:05 -0400
committerMark Brown <broonie@kernel.org>2016-09-01 15:52:13 -0400
commitde34dcfe70576792a6312f9af4a1f880182b2d3b (patch)
tree7a9d7aca4cf8043c81248934e335b158563e0820 /sound/soc/intel
parent979cf59acc9d634cc140aadd0d2915947ab303cc (diff)
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,
267 "Period elapsed rcvd for pipe id 0x%x\n", 267 "Period elapsed rcvd for pipe id 0x%x\n",
268 pipe_id); 268 pipe_id);
269 stream = &sst_drv_ctx->streams[str_id]; 269 stream = &sst_drv_ctx->streams[str_id];
270 /* If stream is dropped, skip processing this message*/
271 if (stream->status == STREAM_INIT)
272 break;
270 if (stream->period_elapsed) 273 if (stream->period_elapsed)
271 stream->period_elapsed(stream->pcm_substream); 274 stream->period_elapsed(stream->pcm_substream);
272 if (stream->compr_cb) 275 if (stream->compr_cb)