At Mon, 02 Jul 2007 16:11:21 +0200, I wrote:
At Sat, 30 Jun 2007 15:26:16 +0200, Jan de Mooij wrote:
I recompiled alsa-driver with --with-debug=full, and I attached the files you asked for. In the dmesg file, alsa output starts on line 453.
Thanks for your help. Please let me know if you need more information.
The output from kernel looks good. So I wonder where the value 0x15 came from at all. Could you trace it, e.g. by adding printk's appropriately in stac92xx_auto_fill_dac_nids()?
After a further code-looking, I found a problematic part. Could you try the patch below?
Takashi
diff -r 054dc7195722 pci/hda/patch_sigmatel.c --- a/pci/hda/patch_sigmatel.c Mon Jul 02 16:03:12 2007 +0200 +++ b/pci/hda/patch_sigmatel.c Mon Jul 02 16:15:39 2007 +0200 @@ -1228,7 +1228,7 @@ static int is_in_dac_nids(struct sigmate * and 9202/925x. For those, dac_nids[] must be hard-coded. */ static int stac92xx_auto_fill_dac_nids(struct hda_codec *codec, - const struct auto_pin_cfg *cfg) + struct auto_pin_cfg *cfg) { struct sigmatel_spec *spec = codec->spec; int i, j, conn_len = 0; @@ -1253,6 +1253,13 @@ static int stac92xx_auto_fill_dac_nids(s }
if (j == conn_len) { + if (spec->multiout.num_dacs > 0) { + /* we have already working output pins, + * so let's drop the broken ones again + */ + cfg->line_outs = spec->multiout.num_dacs; + break; + } /* error out, no available DAC found */ snd_printk(KERN_ERR "%s: No available DAC for pin 0x%x\n",