Skip to content

Commit

Permalink
Merge pull request #158 from ranj063/dai_config
Browse files Browse the repository at this point in the history
[RFT]dai: set config only if the config dai_index matches comp dai_index
  • Loading branch information
lgirdwood committed Jul 30, 2018
2 parents 3ea7004 + 4157d93 commit 0a1587b
Showing 1 changed file with 16 additions and 4 deletions.
20 changes: 16 additions & 4 deletions src/ipc/ipc.c
Original file line number Diff line number Diff line change
Expand Up @@ -333,8 +333,10 @@ int ipc_pipeline_complete(struct ipc *ipc, uint32_t comp_id)

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 = 0;

/* for each component */
Expand All @@ -347,10 +349,20 @@ int ipc_comp_dai_config(struct ipc *ipc, struct sof_ipc_dai_config *config)
switch (icd->cd->comp.type) {
case SOF_COMP_DAI:
case SOF_COMP_SG_DAI:
ret = comp_dai_config(icd->cd, config);
if (ret < 0) {
trace_ipc_error("eCD");
return ret;
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("eCD");
return ret;
}
}
break;
default:
Expand Down

0 comments on commit 0a1587b

Please sign in to comment.