aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHarsha Priya <[email protected]>2016-08-30 23:13:05 -0700
committerMark Brown <[email protected]>2016-09-01 20:52:13 +0100
commitde34dcfe70576792a6312f9af4a1f880182b2d3b (patch)
tree7a9d7aca4cf8043c81248934e335b158563e0820
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 <[email protected]> Signed-off-by: Naveen M <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Mark Brown <[email protected]>
-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)