mirror of
https://git.yoctoproject.org/meta-ti
synced 2026-07-26 22:07:51 +00:00
6203cbca5c
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Denys Dmytriyenko <denys@ti.com>
54 lines
1.8 KiB
Diff
54 lines
1.8 KiB
Diff
From 8d63c0484f5ed79f498c5bf3e5b90de29555bcb7 Mon Sep 17 00:00:00 2001
|
|
From: Thomas Renninger <trenn@suse.de>
|
|
Date: Thu, 12 Jul 2012 12:24:33 +0200
|
|
Subject: [PATCH 043/109] cpufreq / ACPI: Fix not loading acpi-cpufreq driver
|
|
regression
|
|
|
|
commit c4686c71a9183f76e3ef59098da5c098748672f6 upstream.
|
|
|
|
Commit d640113fe80e45ebd4a5b420b introduced a regression on SMP
|
|
systems where the processor core with ACPI id zero is disabled
|
|
(typically should be the case because of hyperthreading).
|
|
The regression got spread through stable kernels.
|
|
On 3.0.X it got introduced via 3.0.18.
|
|
|
|
Such platforms may be rare, but do exist.
|
|
Look out for a disabled processor with acpi_id 0 in dmesg:
|
|
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x10] disabled)
|
|
|
|
This problem has been observed on a:
|
|
HP Proliant BL280c G6 blade
|
|
|
|
This patch restricts the introduced workaround to platforms
|
|
with nr_cpu_ids <= 1.
|
|
|
|
Signed-off-by: Thomas Renninger <trenn@suse.de>
|
|
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
|
|
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
|
---
|
|
drivers/acpi/processor_core.c | 6 ++++--
|
|
1 files changed, 4 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c
|
|
index c850de4..eff7222 100644
|
|
--- a/drivers/acpi/processor_core.c
|
|
+++ b/drivers/acpi/processor_core.c
|
|
@@ -189,10 +189,12 @@ int acpi_get_cpuid(acpi_handle handle, int type, u32 acpi_id)
|
|
* Processor (CPU3, 0x03, 0x00000410, 0x06) {}
|
|
* }
|
|
*
|
|
- * Ignores apic_id and always return 0 for CPU0's handle.
|
|
+ * Ignores apic_id and always returns 0 for the processor
|
|
+ * handle with acpi id 0 if nr_cpu_ids is 1.
|
|
+ * This should be the case if SMP tables are not found.
|
|
* Return -1 for other CPU's handle.
|
|
*/
|
|
- if (acpi_id == 0)
|
|
+ if (nr_cpu_ids <= 1 && acpi_id == 0)
|
|
return acpi_id;
|
|
else
|
|
return apic_id;
|
|
--
|
|
1.7.7.6
|
|
|