]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ALSA: hda/realtek - Avoid bogus HP-pin assignment
authorTakashi Iwai <tiwai@suse.de>
Mon, 26 Sep 2011 08:41:21 +0000 (10:41 +0200)
committerPaul Gortmaker <paul.gortmaker@windriver.com>
Fri, 17 Aug 2012 19:35:20 +0000 (15:35 -0400)
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: Paul Gortmaker <paul.gortmaker@windriver.com>
sound/pci/hda/patch_realtek.c

index d38868066d795e99fa79f15705d7b89a2a313e18..2c71de1e2badc3ee52db71b50180192893987f52 100644 (file)
@@ -1336,7 +1336,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)