ALSA: hda - Fix multi-headphone handling for Realtek codecs
authorTakashi Iwai <tiwai@suse.de>
Mon, 10 Jan 2011 13:47:35 +0000 (14:47 +0100)
committerTakashi Iwai <tiwai@suse.de>
Mon, 10 Jan 2011 13:51:32 +0000 (14:51 +0100)
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>
sound/pci/hda/hda_codec.c

index 98b6d02a36c9c0600a7b26dffbbf1f4f378fccd8..05e5ec88c2d93c35c9b96b08ad00d652bb3a1d98 100644 (file)
@@ -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 */