[alsa-devel] 2.6.28-rc2-mm1 - sound semi-busted on Dell Latitude D820

Takashi Iwai tiwai at suse.de
Tue Nov 11 18:04:56 CET 2008


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 at 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 at 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 at 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)
-- 
1.6.0.4



More information about the Alsa-devel mailing list