Commit 5fe6e015 authored by Takashi Iwai's avatar Takashi Iwai

ALSA: hda/realtek - Avoid bogus HP-pin assignment

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=716104Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Cc: <stable@kernel.org>
parent 6656b15d
...@@ -1321,7 +1321,9 @@ static int alc_subsystem_id(struct hda_codec *codec, ...@@ -1321,7 +1321,9 @@ static int alc_subsystem_id(struct hda_codec *codec,
* 15 : 1 --> enable the function "Mute internal speaker * 15 : 1 --> enable the function "Mute internal speaker
* when the external headphone out jack is plugged" * 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; hda_nid_t nid;
tmp = (ass >> 11) & 0x3; /* HP to chassis */ tmp = (ass >> 11) & 0x3; /* HP to chassis */
if (tmp == 0) if (tmp == 0)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment