ACPI: processor: restrict early _PDC to opt-in platforms
authorAlex Chiang <achiang@hp.com>
Tue, 19 Jan 2010 23:55:41 +0000 (16:55 -0700)
committerLen Brown <len.brown@intel.com>
Wed, 20 Jan 2010 04:43:47 +0000 (23:43 -0500)
commit2205cbe8ecaf5f3ab911cef839c94d05ea5b0c76
treeeccac4d3b1509c463f7eef4bf5ec4c878874bdfa
parent24bc7347da73a9ed3383056c3d0f28c0e361621e
ACPI: processor: restrict early _PDC to opt-in platforms

Commit 78f1699 (ACPI: processor: call _PDC early) blindly walks
the namespace and calls _PDC on every processor object it finds.

This change may cause issues on platforms that declare dummy
values for SSDTs on non-present processors (disabled in MADT).
When we call _PDC and dynamically attempt to execute the AML
Load() op on these dummy SSDTs, there's no telling what might
happen.

Rather than finding every platform that has bogus SSDTs, restrict
early _PDC calls to platforms that are known to need early
evaluation of _PDC.

This is a minimal, temporary fix (given the context of the
current release cycle). A real solution of checking the MADT for
non-present processors will be written for the next merge window.

References:

http://bugzilla.kernel.org/show_bug.cgi?id=14710
http://bugzilla.kernel.org/show_bug.cgi?id=14954

Signed-off-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/acpi/processor_pdc.c