Răsfoiți Sursa

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>
Harsha Priya 9 ani în urmă
părinte
comite
de34dcfe70
1 a modificat fișierele cu 3 adăugiri și 0 ștergeri
  1. 3 0
      sound/soc/intel/atom/sst/sst_ipc.c

+ 3 - 0
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",
 				"Period elapsed rcvd for pipe id 0x%x\n",
 				pipe_id);
 				pipe_id);
 			stream = &sst_drv_ctx->streams[str_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)
 			if (stream->period_elapsed)
 				stream->period_elapsed(stream->pcm_substream);
 				stream->period_elapsed(stream->pcm_substream);
 			if (stream->compr_cb)
 			if (stream->compr_cb)