ALSA: hda/realtek - Choose more cleverly the primary outputs
authorTakashi Iwai <tiwai@suse.de>
Thu, 6 Oct 2011 06:27:19 +0000 (08:27 +0200)
committerTakashi Iwai <tiwai@suse.de>
Thu, 6 Oct 2011 06:30:45 +0000 (08:30 +0200)
When the speaker outputs are more than the headphone outputs, it implies
that the system has surround speakers while the headphones are only for
monitoring the front.  In such a case, it's better to put speakers as
the primary outputs so that the driver can build up and keep the
surround setup.  Otherwise the system will pick up the headphone as
primary, and offers less channels than the speakers do support.

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

index 45108445edc5361cfea1071bedb7a4d5e0f314bd..bf53663186c9e9fbdfe0a71a503bd818b2152a4b 100644 (file)
@@ -3731,7 +3731,8 @@ static int alc_parse_auto_config(struct hda_codec *codec,
                return 0; /* can't find valid BIOS pin config */
        }
 
-       if (cfg->line_out_type == AUTO_PIN_SPEAKER_OUT && cfg->hp_outs > 0) {
+       if (cfg->line_out_type == AUTO_PIN_SPEAKER_OUT &&
+           cfg->line_outs <= cfg->hp_outs) {
                /* use HP as primary out */
                cfg->speaker_outs = cfg->line_outs;
                memcpy(cfg->speaker_pins, cfg->line_out_pins,