]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Add x86_64 lapic fix for broken BIOS, and emu10k1 driver mixer fixes
authorChris Wright <chrisw@sous-sol.org>
Wed, 8 Feb 2006 02:19:09 +0000 (18:19 -0800)
committerChris Wright <chrisw@sous-sol.org>
Wed, 8 Feb 2006 02:19:09 +0000 (18:19 -0800)
both fwd from Daniel Drake.

queue/emu10k1-fix-the-confliction-of-front-control.patch [new file with mode: 0644]
queue/series
queue/x86_64-dont-record-local-apic-ids-when-they-are-disabled-in-madt.patch [new file with mode: 0644]

diff --git a/queue/emu10k1-fix-the-confliction-of-front-control.patch b/queue/emu10k1-fix-the-confliction-of-front-control.patch
new file mode 100644 (file)
index 0000000..961767e
--- /dev/null
@@ -0,0 +1,33 @@
+From stable-bounces@linux.kernel.org  Tue Feb  7 03:38:03 2006
+Date: Tue, 07 Feb 2006 11:33:51 +0000
+From: Daniel Drake <dsd@gentoo.org>
+To: stable@kernel.org
+Cc: tiwai@suse.de
+Subject: [ALSA] emu10k1 - Fix the confliction of 'Front' control
+
+From: Takashi Iwai <tiwai@suse.de>
+
+Modules: EMU10K1/EMU10K2 driver
+
+Fix the confliction of 'Front' controls on models with STAC9758 codec.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Chris Wright <chrisw@sous-sol.org>
+---
+
+ sound/pci/emu10k1/emumixer.c |    2 ++
+ 1 files changed, 2 insertions(+)
+
+Index: linux-2.6.15.3/sound/pci/emu10k1/emumixer.c
+===================================================================
+--- linux-2.6.15.3.orig/sound/pci/emu10k1/emumixer.c
++++ linux-2.6.15.3/sound/pci/emu10k1/emumixer.c
+@@ -750,6 +750,8 @@ int __devinit snd_emu10k1_mixer(emu10k1_
+               "Master Mono Playback Volume",
+               "PCM Out Path & Mute",
+               "Mono Output Select",
++              "Front Playback Switch",
++              "Front Playback Volume",
+               "Surround Playback Switch",
+               "Surround Playback Volume",
+               "Center Playback Switch",
index 48c634c5b90805c83f6d67013485ce4b9750e0bd..970854b3b6fb7e99199196e5a5e56c28a9ae767a 100644 (file)
@@ -17,3 +17,5 @@ fixed-hardware-rx-checksum-handling.patch
 x86_64-let-impossible-cpus-point-to-reference-per-cpu-data.patch
 x86_64-clear-more-state-when-ignoring-empty-node-in-srat-parsing.patch
 bridge-netfilter-races-on-device-removal.patch
+emu10k1-fix-the-confliction-of-front-control.patch
+x86_64-dont-record-local-apic-ids-when-they-are-disabled-in-madt.patch
diff --git a/queue/x86_64-dont-record-local-apic-ids-when-they-are-disabled-in-madt.patch b/queue/x86_64-dont-record-local-apic-ids-when-they-are-disabled-in-madt.patch
new file mode 100644 (file)
index 0000000..f6724e1
--- /dev/null
@@ -0,0 +1,51 @@
+From stable-bounces@linux.kernel.org  Tue Feb  7 03:41:10 2006
+Date: Tue, 07 Feb 2006 11:37:09 +0000
+From: Daniel Drake <dsd@gentoo.org>
+To: stable@kernel.org
+Cc: ashok.raj@intel.com
+Subject: [PATCH] x86_64: Dont record local apic ids when they are disabled in MADT
+
+From: Ashok Raj <ashok.raj@intel.com>
+
+Some broken BIOS's had processors disabled, but
+same apic id as a valid processor. This causes
+acpi_processor_start() to think this disabled
+cpu is ok, and croak. So we dont record bad
+apicid's anymore.
+
+http://bugzilla.kernel.org/show_bug.cgi?id=5930
+
+Signed-off-by: Ashok Raj <ashok.raj@intel.com>
+Signed-off-by: Andi Kleen <ak@suse.de>
+Signed-off-by: Linus Torvalds <torvalds@osdl.org>
+Signed-off-by: Chris Wright <chrisw@sous-sol.org>
+---
+
+ arch/i386/kernel/acpi/boot.c |   13 ++++++++++---
+ 1 files changed, 10 insertions(+), 3 deletions(-)
+
+Index: linux-2.6.15.3/arch/i386/kernel/acpi/boot.c
+===================================================================
+--- linux-2.6.15.3.orig/arch/i386/kernel/acpi/boot.c
++++ linux-2.6.15.3/arch/i386/kernel/acpi/boot.c
+@@ -248,10 +248,17 @@ acpi_parse_lapic(acpi_table_entry_header
+       acpi_table_print_madt_entry(header);
+-      /* Register even disabled CPUs for cpu hotplug */
+-
+-      x86_acpiid_to_apicid[processor->acpi_id] = processor->id;
++      /* Record local apic id only when enabled */
++      if (processor->flags.enabled)
++              x86_acpiid_to_apicid[processor->acpi_id] = processor->id;
++      /*
++       * We need to register disabled CPU as well to permit
++       * counting disabled CPUs. This allows us to size
++       * cpus_possible_map more accurately, to permit
++       * to not preallocating memory for all NR_CPUS
++       * when we use CPU hotplug.
++       */
+       mp_register_lapic(processor->id,        /* APIC ID */
+                         processor->flags.enabled);    /* Enabled? */