At Tue, 11 Nov 2008 18:03:22 +0100, I wrote:
At Tue, 11 Nov 2008 08:47:54 +0100, I wrote:
At Mon, 10 Nov 2008 14:35:58 -0500, Valdis.Kletnieks@vt.edu wrote:
Sometime between -mmotm1017 and -rc2-mm1, something odd happened to the sound subsystem. On my Dell Latitude D820, audio works OK if it's sitting there standalone, or in its docking station.
However, when I plug in headphones, it goes silent.
To confirm a regression, could you copy sound/pci/hda/patch_sigmatel.c from 2.6.27 kernel and check the driver works? Does the same problem exist in 2.6.28-rc kernel?
Could you try the patch below?
There is another patch for a missing capture mux control, but in your case, it doesn't matter because you didn't change the value. I'll post that patch later, too.
Here is another fix.
Takashi
=== From 355a0ec471377a8a907b79c8fba3f0f09b44656e Mon Sep 17 00:00:00 2001 From: Takashi Iwai tiwai@suse.de Date: Tue, 11 Nov 2008 16:46:19 +0100 Subject: [PATCH] ALSA: hda - Add missing analog-mux mixer creation for STAC9200
The creation of analog-mux mixer element is missing in patch_stac9200() due to the dynamic allocation patch.
Signed-off-by: Takashi Iwai tiwai@suse.de --- sound/pci/hda/patch_sigmatel.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index e608591..1627756 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -3530,6 +3530,12 @@ static int stac9200_parse_auto_config(struct hda_codec *codec) if ((err = stac9200_auto_create_lfe_ctls(codec, &spec->autocfg)) < 0) return err;
+ if (spec->num_muxes > 0) { + err = stac92xx_auto_create_mux_input_ctls(codec); + if (err < 0) + return err; + } + if (spec->autocfg.dig_out_pin) spec->multiout.dig_out_nid = 0x05; if (spec->autocfg.dig_in_pin)