| From 5fe6e0151dbd969f5fbcd94d05c968b76d76952b Mon Sep 17 00:00:00 2001 |
| From: Takashi Iwai <tiwai@suse.de> |
| Date: Mon, 26 Sep 2011 10:41:21 +0200 |
| Subject: ALSA: hda/realtek - Avoid bogus HP-pin assignment |
| |
| From: Takashi Iwai <tiwai@suse.de> |
| |
| commit 5fe6e0151dbd969f5fbcd94d05c968b76d76952b upstream. |
| |
| When the headphone pin is assigned as primary output to line_out_pins[], |
| the automatic HP-pin assignment by ASSID must be suppressed. Otherwise |
| a wrong pin might be assigned to the headphone and breaks the auto-mute. |
| |
| Reference: https://bugzilla.novell.com/show_bug.cgi?id=716104 |
| |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| sound/pci/hda/patch_realtek.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| --- a/sound/pci/hda/patch_realtek.c |
| +++ b/sound/pci/hda/patch_realtek.c |
| @@ -1346,7 +1346,9 @@ do_sku: |
| * 15 : 1 --> enable the function "Mute internal speaker |
| * when the external headphone out jack is plugged" |
| */ |
| - if (!spec->autocfg.hp_pins[0]) { |
| + if (!spec->autocfg.hp_pins[0] && |
| + !(spec->autocfg.line_out_pins[0] && |
| + spec->autocfg.line_out_type == AUTO_PIN_HP_OUT)) { |
| hda_nid_t nid; |
| tmp = (ass >> 11) & 0x3; /* HP to chassis */ |
| if (tmp == 0) |