From 88d6d8e08e2f41224772c74e8c56feca4977dcff Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Mon, 11 Jul 2011 11:28:13 +0200 Subject: [PATCH] --- yaml --- r: 257767 b: refs/heads/master c: 6e969d9155a4ee7bce800dfbee02099105ca5b97 h: refs/heads/master i: 257765: 177ed4d4f156af02defd94cb7ac6a2abb94183a7 257763: cefeabe6201a7ee0a259aab1710b0dac143925ae 257759: 26176bbc08de6e92a8e1c8327a492896dd854742 v: v3 --- [refs] | 2 +- trunk/sound/pci/hda/patch_via.c | 21 +++++++++++---------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/[refs] b/[refs] index 105f88e55585..144632baa03b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 21ce0b65272b85f122455818b0c69740945b451a +refs/heads/master: 6e969d9155a4ee7bce800dfbee02099105ca5b97 diff --git a/trunk/sound/pci/hda/patch_via.c b/trunk/sound/pci/hda/patch_via.c index be2e57b44507..27de53fb331e 100644 --- a/trunk/sound/pci/hda/patch_via.c +++ b/trunk/sound/pci/hda/patch_via.c @@ -615,6 +615,7 @@ static void via_auto_init_speaker_out(struct hda_codec *codec) } static bool is_smart51_pins(struct hda_codec *codec, hda_nid_t pin); +static void via_hp_automute(struct hda_codec *codec); static void via_auto_init_analog_input(struct hda_codec *codec) { @@ -801,6 +802,7 @@ static int via_independent_hp_put(struct snd_kcontrol *kcontrol, /* update jack power state */ set_widgets_power_state(codec); + via_hp_automute(codec); return 1; } @@ -1532,19 +1534,18 @@ static void via_line_automute(struct hda_codec *codec, int present) static void via_hp_automute(struct hda_codec *codec) { int present = 0; + int nums; struct via_spec *spec = codec->spec; - if (!spec->hp_independent_mode && spec->autocfg.hp_pins[0]) { - int nums; + if (!spec->hp_independent_mode && spec->autocfg.hp_pins[0]) present = snd_hda_jack_detect(codec, spec->autocfg.hp_pins[0]); - if (spec->smart51_enabled) - nums = spec->autocfg.line_outs + spec->smart51_nums; - else - nums = spec->autocfg.line_outs; - toggle_output_mutes(codec, nums, - spec->autocfg.line_out_pins, - present); - } + + if (spec->smart51_enabled) + nums = spec->autocfg.line_outs + spec->smart51_nums; + else + nums = spec->autocfg.line_outs; + toggle_output_mutes(codec, nums, spec->autocfg.line_out_pins, present); + via_line_automute(codec, present); }