ALSA: hda - Enable line-out detection only with speakers
authorTakashi Iwai <tiwai@suse.de>
Thu, 13 Aug 2009 06:23:24 +0000 (08:23 +0200)
committerTakashi Iwai <tiwai@suse.de>
Thu, 13 Aug 2009 06:27:38 +0000 (08:27 +0200)
Enable line-out detection for IDT/STAC codecs only when speaker pins
exist.  In some cases, the speaker itself is identified as line-out,
and this confuses the situation.  Only the extra line-outs should do
auto-muting.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_sigmatel.c

index 2760730..3ac0112 100644 (file)
@@ -4350,7 +4350,8 @@ static int stac92xx_init(struct hda_codec *codec)
                        hda_nid_t nid = cfg->hp_pins[i];
                        enable_pin_detect(codec, nid, STAC_HP_EVENT);
                }
-               if (cfg->line_out_type == AUTO_PIN_LINE_OUT) {
+               if (cfg->line_out_type == AUTO_PIN_LINE_OUT &&
+                   cfg->speaker_outs > 0) {
                        /* enable pin-detect for line-outs as well */
                        for (i = 0; i < cfg->line_outs; i++) {
                                hda_nid_t nid = cfg->line_out_pins[i];