[PATCH] hda: incorrect DAC mixer on 92hd71bxxx

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



If there was two line_outs[] it would overrun into the dmic nid struct below
and create a phantom "Surround" mixer.

Signed-off-by: Matthew Ranostay <mranostay@xxxxxxxxxxxxxxxxx>
---
diff -r 54a51b975975 pci/hda/patch_sigmatel.c
--- a/pci/hda/patch_sigmatel.c	Thu Feb 28 12:46:32 2008 +0100
+++ b/pci/hda/patch_sigmatel.c	Thu Feb 28 16:52:43 2008 -0500
@@ -246,8 +246,8 @@ static hda_nid_t stac92hd71bxx_dmux_nids
 	0x1c,
 };
 
-static hda_nid_t stac92hd71bxx_dac_nids[1] = {
-	0x10, /*0x11, */
+static hda_nid_t stac92hd71bxx_dac_nids[2] = {
+	0x10, 0x11
 };
 
 #define STAC92HD71BXX_NUM_DMICS	2
@@ -2345,10 +2345,10 @@ static int stac92xx_auto_create_multi_ou
 
 
 	for (i = 0; i < cfg->line_outs; i++) {
-		if (!spec->multiout.dac_nids[i])
+		
+		nid = spec->multiout.dac_nids[i];
+		if (!nid || nid == spec->multiout.hp_nid)
 			continue;
-
-		nid = spec->multiout.dac_nids[i];
 
 		if (i == 2) {
 			/* Center/LFE */
@@ -3550,7 +3550,7 @@ again:
 	spec->num_pwrs = ARRAY_SIZE(stac92hd71bxx_pwr_nids);
 	spec->pwr_nids = stac92hd71bxx_pwr_nids;
 
-	spec->multiout.num_dacs = 1;
+	spec->multiout.num_dacs = ARRAY_SIZE(stac92hd71bxx_dac_nids);
 	spec->multiout.hp_nid = 0x11;
 	spec->multiout.dac_nids = stac92hd71bxx_dac_nids;
 
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux