summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2011-01-10 14:47:35 +0100
committerTakashi Iwai <tiwai@suse.de>2011-01-10 14:51:32 +0100
commitb2d0576055bd1cafcd91a23cf85064815f1396cd (patch)
tree7665cdc951b234154b47b11a3fe365c83d13060d
parentca6cd851d7d22767d68b674590d836f468d1913a (diff)
downloadlinux-3.10-b2d0576055bd1cafcd91a23cf85064815f1396cd.tar.gz
linux-3.10-b2d0576055bd1cafcd91a23cf85064815f1396cd.tar.bz2
linux-3.10-b2d0576055bd1cafcd91a23cf85064815f1396cd.zip
ALSA: hda - Fix multi-headphone handling for Realtek codecs
When multiple headphone pins are defined without line-out pins, the driver takes them as primary outputs. But it forgot to set line_out_type to HP by assuming there is some rest of HP pins. This results in some mis-handling of these pins for Realtek codec parser. It takes as if these are pure line-out jacks. Signed-off-by: Takashi Iwai <tiwai@suse.de> Cc: <stable@kernel.org>
-rw-r--r--sound/pci/hda/hda_codec.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index 98b6d02a36c..05e5ec88c2d 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -4571,6 +4571,9 @@ int snd_hda_parse_pin_def_config(struct hda_codec *codec,
}
memset(cfg->hp_pins + cfg->hp_outs, 0,
sizeof(hda_nid_t) * (AUTO_CFG_MAX_OUTS - cfg->hp_outs));
+ if (!cfg->hp_outs)
+ cfg->line_out_type = AUTO_PIN_HP_OUT;
+
}
/* sort by sequence */