diff options
author | Bob Moore <robert.moore@intel.com> | 2006-10-02 00:00:00 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2006-03-31 02:19:03 -0500 |
commit | 52fc0b026e99b5d5d585095148d997d5634bbc25 (patch) | |
tree | 7bf93132cfd3e6957308a84198ee159f7d43cf6f /drivers/acpi/dispatcher/dsopcode.c | |
parent | 46358614ed5b031797522f1020e989c959a8d8a6 (diff) |
[ACPI] ACPICA 20060210
Removed a couple of extraneous ACPI_ERROR messages that
appeared during normal execution. These became apparent
after the conversion from ACPI_DEBUG_PRINT.
Fixed a problem where the CreateField operator could hang
if the BitIndex or NumBits parameter referred to a named
object. From Valery Podrezov.
http://bugzilla.kernel.org/show_bug.cgi?id=5359
Fixed a problem where a DeRefOf operation on a buffer
object incorrectly failed with an exception. This also
fixes a couple of related RefOf and DeRefOf issues.
From Valery Podrezov.
http://bugzilla.kernel.org/show_bug.cgi?id=5360
http://bugzilla.kernel.org/show_bug.cgi?id=5387
http://bugzilla.kernel.org/show_bug.cgi?id=5392
Fixed a problem where the AE_BUFFER_LIMIT exception was
returned instead of AE_STRING_LIMIT on an out-of-bounds
Index() operation. From Valery Podrezov.
http://bugzilla.kernel.org/show_bug.cgi?id=5480
Implemented a memory cleanup at the end of the execution
of each iteration of an AML While() loop, preventing the
accumulation of outstanding objects. From Valery Podrezov.
http://bugzilla.kernel.org/show_bug.cgi?id=5427
Eliminated a chunk of duplicate code in the object
resolution code. From Valery Podrezov.
http://bugzilla.kernel.org/show_bug.cgi?id=5336
Fixed several warnings during the 64-bit code generation.
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/dispatcher/dsopcode.c')
-rw-r--r-- | drivers/acpi/dispatcher/dsopcode.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/acpi/dispatcher/dsopcode.c b/drivers/acpi/dispatcher/dsopcode.c index 6229c10674e1..8a690a9963f2 100644 --- a/drivers/acpi/dispatcher/dsopcode.c +++ b/drivers/acpi/dispatcher/dsopcode.c | |||
@@ -640,6 +640,7 @@ acpi_ds_eval_buffer_field_operands(struct acpi_walk_state *walk_state, | |||
640 | /* Initialize the Buffer Field */ | 640 | /* Initialize the Buffer Field */ |
641 | 641 | ||
642 | if (op->common.aml_opcode == AML_CREATE_FIELD_OP) { | 642 | if (op->common.aml_opcode == AML_CREATE_FIELD_OP) { |
643 | |||
643 | /* NOTE: Slightly different operands for this opcode */ | 644 | /* NOTE: Slightly different operands for this opcode */ |
644 | 645 | ||
645 | status = | 646 | status = |
@@ -984,6 +985,7 @@ acpi_ds_exec_end_control_op(struct acpi_walk_state * walk_state, | |||
984 | ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH, "[WHILE_OP] Op=%p\n", op)); | 985 | ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH, "[WHILE_OP] Op=%p\n", op)); |
985 | 986 | ||
986 | if (walk_state->control_state->common.value) { | 987 | if (walk_state->control_state->common.value) { |
988 | |||
987 | /* Predicate was true, go back and evaluate it again! */ | 989 | /* Predicate was true, go back and evaluate it again! */ |
988 | 990 | ||
989 | status = AE_CTRL_PENDING; | 991 | status = AE_CTRL_PENDING; |
@@ -1014,6 +1016,7 @@ acpi_ds_exec_end_control_op(struct acpi_walk_state * walk_state, | |||
1014 | * has been bubbled up the tree | 1016 | * has been bubbled up the tree |
1015 | */ | 1017 | */ |
1016 | if (op->common.value.arg) { | 1018 | if (op->common.value.arg) { |
1019 | |||
1017 | /* Since we have a real Return(), delete any implicit return */ | 1020 | /* Since we have a real Return(), delete any implicit return */ |
1018 | 1021 | ||
1019 | acpi_ds_clear_implicit_return(walk_state); | 1022 | acpi_ds_clear_implicit_return(walk_state); |
@@ -1047,6 +1050,7 @@ acpi_ds_exec_end_control_op(struct acpi_walk_state * walk_state, | |||
1047 | walk_state->return_desc = walk_state->operands[0]; | 1050 | walk_state->return_desc = walk_state->operands[0]; |
1048 | } else if ((walk_state->results) && | 1051 | } else if ((walk_state->results) && |
1049 | (walk_state->results->results.num_results > 0)) { | 1052 | (walk_state->results->results.num_results > 0)) { |
1053 | |||
1050 | /* Since we have a real Return(), delete any implicit return */ | 1054 | /* Since we have a real Return(), delete any implicit return */ |
1051 | 1055 | ||
1052 | acpi_ds_clear_implicit_return(walk_state); | 1056 | acpi_ds_clear_implicit_return(walk_state); |