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

Bug#599582: [2.6.30 -> 2.6.32 regression] no sound from Fujitsu Pi laptop unless headphones plugged in



tags 599582 + upstream patch moreinfo
quit

Hi all,

Jonathan Nieder wrote:

> Next steps to move this forward:

Do you still have access to the affected hardware?

If so, what is the newest squeeze kernel you've been able to reproduce
this with?  (The kernel from squeeze should work fine on wheezy/sid,
though if you use nouveau you should switch to the fbdev driver
first[1].)

Can you try this patch?  Instructions for testing a patched kernel are
at [2].

Thanks,
Jonathan

[1] /usr/share/doc/xserver-xorg-video-nouveau/README.Debian
    http://pkg-xorg.alioth.debian.org/faq/general.html
[2] http://kernel-handbook.alioth.debian.org/ch-common-tasks.html
    or the corresponding page in the debian-kernel-handbook package

-- >8 --
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 1 Dec 2009 12:19:37 +0100
Subject: ALSA: hda - Add a pin-fix for FSC Amilo Pi1505

commit cfc9b06f0befe50ef02253f72b76946363549031 upstream.

FSC Amilo Pi 1505 has a buggy BIOS and doesn't set up the HP and
speaker pins properly.  Add the pinfix entry for that.

Reference: Novell bnc#557403
	https://bugzilla.novell.com/show_bug.cgi?id=557403

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
 sound/pci/hda/patch_realtek.c |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 64190957615b..81dd0141a963 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -14686,6 +14686,27 @@ static struct alc_config_preset alc861_presets[] = {
 	},
 };
 
+/* Pin config fixes */
+enum {
+	PINFIX_FSC_AMILO_PI1505,
+};
+
+static struct alc_pincfg alc861_fsc_amilo_pi1505_pinfix[] = {
+	{ 0x0b, 0x0221101f }, /* HP */
+	{ 0x0f, 0x90170310 }, /* speaker */
+	{ }
+};
+
+static const struct alc_fixup alc861_fixups[] = {
+	[PINFIX_FSC_AMILO_PI1505] = {
+		.pins = alc861_fsc_amilo_pi1505_pinfix
+	},
+};
+
+static struct snd_pci_quirk alc861_fixup_tbl[] = {
+	SND_PCI_QUIRK(0x1734, 0x10c7, "FSC Amilo Pi1505", PINFIX_FSC_AMILO_PI1505),
+	{}
+};
 
 static int patch_alc861(struct hda_codec *codec)
 {
@@ -14709,6 +14730,8 @@ static int patch_alc861(struct hda_codec *codec)
 		board_config = ALC861_AUTO;
 	}
 
+	alc_pick_fixup(codec, alc861_fixup_tbl, alc861_fixups);
+
 	if (board_config == ALC861_AUTO) {
 		/* automatic parse from the BIOS config */
 		err = alc861_parse_auto_config(codec);
-- 
1.7.9




Reply to: