diff options
author | Bob Moore <robert.moore@intel.com> | 2008-11-12 20:45:35 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-12-29 22:38:37 -0500 |
commit | a8fadc923d1659f1a322194d420808d5b255883c (patch) | |
tree | b8afd36cc4217400efb0e71c550c69bfc8822352 /drivers/acpi/dispatcher/dsmethod.c | |
parent | 9f15fc666ef54afc7aff31dfa31edecf00e0d81a (diff) |
ACPICA: Add support to externally execute _OSI method
The current implemenation of _OSI within ACPICA only allows other
control methods to execute _OSI. This change allows the host
OS to execute _OSI via the AcpiEvaluateObject interface. _OSI
is a special method -- it does not exist in the AML code, it is
implemented within ACPICA.
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/dispatcher/dsmethod.c')
-rw-r--r-- | drivers/acpi/dispatcher/dsmethod.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/acpi/dispatcher/dsmethod.c b/drivers/acpi/dispatcher/dsmethod.c index 279a5a60a0dd..77b7039a26e4 100644 --- a/drivers/acpi/dispatcher/dsmethod.c +++ b/drivers/acpi/dispatcher/dsmethod.c | |||
@@ -412,6 +412,9 @@ acpi_ds_call_control_method(struct acpi_thread_state *thread, | |||
412 | 412 | ||
413 | if (obj_desc->method.method_flags & AML_METHOD_INTERNAL_ONLY) { | 413 | if (obj_desc->method.method_flags & AML_METHOD_INTERNAL_ONLY) { |
414 | status = obj_desc->method.implementation(next_walk_state); | 414 | status = obj_desc->method.implementation(next_walk_state); |
415 | if (status == AE_OK) { | ||
416 | status = AE_CTRL_TERMINATE; | ||
417 | } | ||
415 | } | 418 | } |
416 | 419 | ||
417 | return_ACPI_STATUS(status); | 420 | return_ACPI_STATUS(status); |