ASoC: qcom: Set dai_link id to each dai_link
Frontend dai_link id is used for closing ADM sessions. During concurrent usecase when one session is closed, it closes other ADM session associated with other usecase too. Dai_link->id should always point to Frontend dai id. Set cpu_dai id as dai_link id to fix the issue. Signed-off-by: Rohit kumar <rohitkr@codeaurora.org> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
9ee325d029
commit
67fd1437d1
|
@ -13,6 +13,7 @@ int qcom_snd_parse_of(struct snd_soc_card *card)
|
|||
struct device_node *cpu = NULL;
|
||||
struct device *dev = card->dev;
|
||||
struct snd_soc_dai_link *link;
|
||||
struct of_phandle_args args;
|
||||
int ret, num_links;
|
||||
|
||||
ret = snd_soc_of_parse_card_name(card, "model");
|
||||
|
@ -47,12 +48,14 @@ int qcom_snd_parse_of(struct snd_soc_card *card)
|
|||
goto err;
|
||||
}
|
||||
|
||||
link->cpu_of_node = of_parse_phandle(cpu, "sound-dai", 0);
|
||||
if (!link->cpu_of_node) {
|
||||
ret = of_parse_phandle_with_args(cpu, "sound-dai",
|
||||
"#sound-dai-cells", 0, &args);
|
||||
if (ret) {
|
||||
dev_err(card->dev, "error getting cpu phandle\n");
|
||||
ret = -EINVAL;
|
||||
goto err;
|
||||
}
|
||||
link->cpu_of_node = args.np;
|
||||
link->id = args.args[0];
|
||||
|
||||
ret = snd_soc_of_get_dai_name(cpu, &link->cpu_dai_name);
|
||||
if (ret) {
|
||||
|
|
Loading…
Reference in New Issue