diff options
Diffstat (limited to 'sound/pci')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 3c8773a7ac91..07fbf7db69e3 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -4398,13 +4398,19 @@ static int alc880_auto_create_multi_out_ctls(struct alc_spec *spec, | |||
4398 | if (err < 0) | 4398 | if (err < 0) |
4399 | return err; | 4399 | return err; |
4400 | } else { | 4400 | } else { |
4401 | sprintf(name, "%s Playback Volume", chname[i]); | 4401 | const char *pfx; |
4402 | if (cfg->line_outs == 1 && | ||
4403 | cfg->line_out_type == AUTO_PIN_SPEAKER_OUT) | ||
4404 | pfx = "Speaker"; | ||
4405 | else | ||
4406 | pfx = chname[i]; | ||
4407 | sprintf(name, "%s Playback Volume", pfx); | ||
4402 | err = add_control(spec, ALC_CTL_WIDGET_VOL, name, | 4408 | err = add_control(spec, ALC_CTL_WIDGET_VOL, name, |
4403 | HDA_COMPOSE_AMP_VAL(nid, 3, 0, | 4409 | HDA_COMPOSE_AMP_VAL(nid, 3, 0, |
4404 | HDA_OUTPUT)); | 4410 | HDA_OUTPUT)); |
4405 | if (err < 0) | 4411 | if (err < 0) |
4406 | return err; | 4412 | return err; |
4407 | sprintf(name, "%s Playback Switch", chname[i]); | 4413 | sprintf(name, "%s Playback Switch", pfx); |
4408 | err = add_control(spec, ALC_CTL_BIND_MUTE, name, | 4414 | err = add_control(spec, ALC_CTL_BIND_MUTE, name, |
4409 | HDA_COMPOSE_AMP_VAL(nid, 3, 2, | 4415 | HDA_COMPOSE_AMP_VAL(nid, 3, 2, |
4410 | HDA_INPUT)); | 4416 | HDA_INPUT)); |