diff options
| -rw-r--r-- | sound/pci/hda/patch_realtek.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index ca211c1cba03..43fcfbd32847 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
| @@ -1141,6 +1141,13 @@ static void update_speakers(struct hda_codec *codec) | |||
| 1141 | struct alc_spec *spec = codec->spec; | 1141 | struct alc_spec *spec = codec->spec; |
| 1142 | int on; | 1142 | int on; |
| 1143 | 1143 | ||
| 1144 | /* Control HP pins/amps depending on master_mute state; | ||
| 1145 | * in general, HP pins/amps control should be enabled in all cases, | ||
| 1146 | * but currently set only for master_mute, just to be safe | ||
| 1147 | */ | ||
| 1148 | do_automute(codec, ARRAY_SIZE(spec->autocfg.hp_pins), | ||
| 1149 | spec->autocfg.hp_pins, spec->master_mute, true); | ||
| 1150 | |||
| 1144 | if (!spec->automute) | 1151 | if (!spec->automute) |
| 1145 | on = 0; | 1152 | on = 0; |
| 1146 | else | 1153 | else |
| @@ -6201,11 +6208,6 @@ static const struct snd_kcontrol_new alc260_input_mixer[] = { | |||
| 6201 | /* update HP, line and mono out pins according to the master switch */ | 6208 | /* update HP, line and mono out pins according to the master switch */ |
| 6202 | static void alc260_hp_master_update(struct hda_codec *codec) | 6209 | static void alc260_hp_master_update(struct hda_codec *codec) |
| 6203 | { | 6210 | { |
| 6204 | struct alc_spec *spec = codec->spec; | ||
| 6205 | |||
| 6206 | /* change HP pins */ | ||
| 6207 | do_automute(codec, ARRAY_SIZE(spec->autocfg.hp_pins), | ||
| 6208 | spec->autocfg.hp_pins, spec->master_mute, true); | ||
| 6209 | update_speakers(codec); | 6211 | update_speakers(codec); |
| 6210 | } | 6212 | } |
| 6211 | 6213 | ||
