Currently kctrl with same name can only be created once, but in "MIX Playback Volume" case, same kctrl is used to control different MIX volume for different dai-link. this patch by check kctrl's cfg, allow to create kctrl with same name but different cfg. Fixes: commit 9c698e8481a1 ("ASoC: rsnd: tidyup registering method for rsnd_kctrl_new()") Signed-off-by: Jiada Wang <jiada_wang@xxxxxxxxxx> --- sound/soc/sh/rcar/core.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index 79659f7b32b9..909ee0948da1 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c @@ -1526,14 +1526,15 @@ int rsnd_kctrl_new(struct rsnd_mod *mod, int ret; /* - * 1) Avoid duplicate register (ex. MIXer case) + * 1) Avoid duplicate register (ex. DVC case) * 2) re-register if card was rebinded */ list_for_each_entry(kctrl, &card->controls, list) { struct rsnd_kctrl_cfg *c = kctrl->private_data; if (strcmp(kctrl->id.name, name) == 0 && - c->mod == mod) + c->mod == mod && + &c->val == &cfg->val) return 0; } -- 2.19.2 _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel