mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 01:55:51 +02:00
ASoC: SOF: ipc4-topology: Validate the number of in/out formats for src/asrc
SRC and ASRC modules must have at least one input and on one output formats to be usable. Do a sanity check during setup type and fail if either the number of input or output formats are 0. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://patch.msgid.link/20260526105748.26149-2-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
e7ae89a0c9
commit
21a5adffad
|
|
@ -1092,6 +1092,15 @@ static int sof_ipc4_widget_setup_comp_src(struct snd_sof_widget *swidget)
|
|||
if (ret)
|
||||
goto err;
|
||||
|
||||
if (!src->available_fmt.num_input_formats ||
|
||||
!src->available_fmt.num_output_formats) {
|
||||
dev_err(scomp->dev,
|
||||
"Invalid number of formats: input: %d, output: %d\n",
|
||||
src->available_fmt.num_input_formats,
|
||||
src->available_fmt.num_output_formats);
|
||||
goto err;
|
||||
}
|
||||
|
||||
ret = sof_update_ipc_object(scomp, &src->data, SOF_SRC_TOKENS, swidget->tuples,
|
||||
swidget->num_tuples, sizeof(*src), 1);
|
||||
if (ret) {
|
||||
|
|
@ -1135,6 +1144,15 @@ static int sof_ipc4_widget_setup_comp_asrc(struct snd_sof_widget *swidget)
|
|||
if (ret)
|
||||
goto err;
|
||||
|
||||
if (!asrc->available_fmt.num_input_formats ||
|
||||
!asrc->available_fmt.num_output_formats) {
|
||||
dev_err(scomp->dev,
|
||||
"Invalid number of formats: input: %d, output: %d\n",
|
||||
asrc->available_fmt.num_input_formats,
|
||||
asrc->available_fmt.num_output_formats);
|
||||
goto err;
|
||||
}
|
||||
|
||||
ret = sof_update_ipc_object(scomp, &asrc->data, SOF_ASRC_TOKENS, swidget->tuples,
|
||||
swidget->num_tuples, sizeof(*asrc), 1);
|
||||
if (ret) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user