From a8fadc923d1659f1a322194d420808d5b255883c Mon Sep 17 00:00:00 2001 From: Bob Moore Date: Thu, 13 Nov 2008 09:45:35 +0800 Subject: 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 Signed-off-by: Lin Ming Signed-off-by: Len Brown --- drivers/acpi/dispatcher/dsmethod.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'drivers/acpi/dispatcher/dsmethod.c') 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, if (obj_desc->method.method_flags & AML_METHOD_INTERNAL_ONLY) { status = obj_desc->method.implementation(next_walk_state); + if (status == AE_OK) { + status = AE_CTRL_TERMINATE; + } } return_ACPI_STATUS(status); -- cgit v1.2.2