ALSA: hda/realtek - Fix the possible conflicts of Bass Speaker name
When the multi-io is added to the two speaker output configuration, the parser would try to add yet another "Bass Speaker" control since it checks only cfg->line_outs. Add a workaround for it by simply passing the channel name in the case of multi-io outputs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
c96f0bf4ad
commit
689cabf6d0
1 changed files with 6 additions and 3 deletions
|
@ -3613,14 +3613,17 @@ static int alc_auto_create_multi_out_ctls(struct hda_codec *codec,
|
||||||
dac = spec->multiout.dac_nids[i];
|
dac = spec->multiout.dac_nids[i];
|
||||||
if (!dac)
|
if (!dac)
|
||||||
continue;
|
continue;
|
||||||
if (i >= cfg->line_outs)
|
if (i >= cfg->line_outs) {
|
||||||
pin = spec->multi_io[i - 1].pin;
|
pin = spec->multi_io[i - 1].pin;
|
||||||
else
|
index = 0;
|
||||||
|
name = channel_name[i];
|
||||||
|
} else {
|
||||||
pin = cfg->line_out_pins[i];
|
pin = cfg->line_out_pins[i];
|
||||||
|
name = alc_get_line_out_pfx(spec, i, true, &index);
|
||||||
|
}
|
||||||
|
|
||||||
sw = alc_look_for_out_mute_nid(codec, pin, dac);
|
sw = alc_look_for_out_mute_nid(codec, pin, dac);
|
||||||
vol = alc_look_for_out_vol_nid(codec, pin, dac);
|
vol = alc_look_for_out_vol_nid(codec, pin, dac);
|
||||||
name = alc_get_line_out_pfx(spec, i, true, &index);
|
|
||||||
if (!name || !strcmp(name, "CLFE")) {
|
if (!name || !strcmp(name, "CLFE")) {
|
||||||
/* Center/LFE */
|
/* Center/LFE */
|
||||||
err = alc_auto_add_vol_ctl(codec, "Center", 0, vol, 1);
|
err = alc_auto_add_vol_ctl(codec, "Center", 0, vol, 1);
|
||||||
|
|
Loading…
Add table
Reference in a new issue