From: Takashi Iwai Date: Mon, 10 Jan 2011 13:47:35 +0000 (+0100) Subject: ALSA: hda - Fix multi-headphone handling for Realtek codecs X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=b2d0576055bd1cafcd91a23cf85064815f1396cd;p=openwrt%2Fstaging%2Fblogic.git 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 Cc: --- diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index 98b6d02a36c9..05e5ec88c2d9 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 */