ipc: ipc3: ignore PCM_PARAMS for active pipelines

With IPC3 it is an error to send a PCM_PARAMS IPC on an active
pipeline, but it is a valid use-case with IPC4, ignore such IPCs.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
This commit is contained in:
Guennadi Liakhovetski 2021-09-28 13:57:28 +02:00 committed by Liam Girdwood
parent 02d7974cf7
commit 5ba5415777
1 changed files with 12 additions and 0 deletions

View File

@ -223,6 +223,18 @@ static int ipc_stream_pcm_params(uint32_t stream)
return -EINVAL;
}
switch (pcm_dev->cd->pipeline->status) {
case COMP_STATE_ACTIVE:
case COMP_STATE_PRE_ACTIVE:
/*
* IPC4 has a use-case when a PCM parameter change request can
* be sent on an active pipeline, ignore it
*/
pipe_dbg(pcm_dev->cd->pipeline,
"ipc: ignore PCM param change request on an active pipeline");
return 0;
}
#if CONFIG_HOST_PTABLE
cd = pcm_dev->cd;