diff --git a/src/ipc/ipc.c b/src/ipc/ipc.c index d709ad0673e4..5ec87b083e8a 100644 --- a/src/ipc/ipc.c +++ b/src/ipc/ipc.c @@ -436,49 +436,33 @@ int ipc_comp_dai_config(struct ipc *ipc, struct sof_ipc_dai_config *config) struct sof_ipc_comp_dai *dai; struct ipc_comp_dev *icd; struct list_item *clist; - struct comp_dev *dev; int ret = -ENODEV; /* for each component */ list_for_item(clist, &ipc->shared_ctx->comp_list) { icd = container_of(clist, struct ipc_comp_dev, list); - switch (icd->type) { - case COMP_TYPE_COMPONENT: - - /* make sure we only config DAI comps */ - switch (icd->cd->comp.type) { - case SOF_COMP_DAI: - case SOF_COMP_SG_DAI: - dev = icd->cd; - dai = (struct sof_ipc_comp_dai *)&dev->comp; - - /* - * set config if comp dai_index matches - * config dai_index. - */ - if (dai->dai_index == config->dai_index && - dai->type == config->type) { - ret = comp_dai_config(dev, config); - if (ret < 0) { - trace_ipc_error - ("ipc_comp_dai_config() " - "error: comp_dai_config() " - "failed"); - return ret; - } - } - break; - default: - break; - } + /* make sure we only config DAI comps */ + if (icd->type != COMP_TYPE_COMPONENT) + continue; - break; - /* ignore non components */ - default: - break; + if (icd->cd->comp.type == SOF_COMP_DAI || + icd->cd->comp.type == SOF_COMP_SG_DAI) { + dai = (struct sof_ipc_comp_dai *)&icd->cd->comp; + /* + * set config if comp dai_index matches + * config dai_index. + */ + if (dai->dai_index == config->dai_index && + dai->type == config->type) + ret = comp_dai_config(icd->cd, config); } } + if (ret < 0) { + trace_ipc_error("ipc_comp_dai_config() error: " + "comp_dai_config() failed"); + } + return ret; }