[PATCH] ALSA: HDA: Fix Realtek automute Line Out -> Internal Speaker

David Henningsson david.henningsson at canonical.com
Tue Nov 29 09:19:45 CET 2011


In kernels 3.0 and 3.1, no automute control was created unless
Headphone pins were present. This patch enables automute for the
case where there are just Line Out and Speaker pins.

BugLink: http://bugs.launchpad.net/bugs/882693
Cc: stable at kernel.org (3.0 and 3.1)
Tested-by: Marc Legris <marc.legris at canonical.com>
Signed-off-by: David Henningsson <david.henningsson at canonical.com>
---
 sound/pci/hda/patch_realtek.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index e7dc034..c85ce60 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -1605,7 +1605,7 @@ static void alc_init_auto_hp(struct hda_codec *codec)
 		spec->automute = 1;
 		spec->automute_mode = ALC_AUTOMUTE_PIN;
 	}
-	if (spec->automute && cfg->line_out_pins[0] &&
+	if (cfg->line_out_pins[0] &&
 	    cfg->speaker_pins[0] &&
 	    cfg->line_out_pins[0] != cfg->hp_pins[0] &&
 	    cfg->line_out_pins[0] != cfg->speaker_pins[0]) {
@@ -1619,6 +1619,10 @@ static void alc_init_auto_hp(struct hda_codec *codec)
 					AC_VERB_SET_UNSOLICITED_ENABLE,
 					AC_USRSP_EN | ALC880_FRONT_EVENT);
 			spec->detect_line = 1;
+			if (!spec->automute) {
+				spec->automute = 1;
+				spec->automute_mode = ALC_AUTOMUTE_PIN;
+			}
 		}
 		spec->automute_lines = spec->detect_line;
 	}
-- 
1.7.5.4


--------------030009080904060902080809--


More information about the Alsa-devel mailing list