ACPI "_PDC" - acpi_processor_set_pdc()- execution regression - Linux-3.x

From: wallak
Date: Wed Dec 07 2011 - 17:46:51 EST


We have a regression on the ACPI stack of the last linux kernel line 3.x (3.1.4,
3.2-rc4...). The ACPI "_PDC" chunk is not executed on some computers (e.g. Dell
X300; the function acpi_processor_set_pdc() is not called). This issue yield to
an uninitialized state of some ACPI variables.

A patch is available below. This patch come back to the previous linux behavior,
and works fine.

Best Regards,
Wallak.

--- linux-3.1.4-mdf/drivers/acpi/processor_core.c.orig 2011-12-07
23:12:57.000000000 +0100
+++ linux-3.1.4-mdf/drivers/acpi/processor_core.c 2011-12-07
23:13:39.000000000 +0100
@@ -223,8 +223,8 @@
type = (acpi_type == ACPI_TYPE_DEVICE) ? 1 : 0;
cpuid = acpi_get_cpuid(handle, type, acpi_id);

- if (cpuid == -1)
- return false;
+ if ((cpuid == -1) && (num_possible_cpus() > 1))
+ return false;

return true;
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/