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/dswload.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/dswload.c')
-rw-r--r-- | drivers/acpi/dispatcher/dswload.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/acpi/dispatcher/dswload.c b/drivers/acpi/dispatcher/dswload.c index d3d24da31c81..02b03126e14e 100644 --- a/drivers/acpi/dispatcher/dswload.c +++ b/drivers/acpi/dispatcher/dswload.c | |||
@@ -261,6 +261,7 @@ acpi_ds_load1_begin_op(struct acpi_walk_state * walk_state, | |||
261 | */ | 261 | */ |
262 | 262 | ||
263 | if (walk_state->deferred_node) { | 263 | if (walk_state->deferred_node) { |
264 | |||
264 | /* This name is already in the namespace, get the node */ | 265 | /* This name is already in the namespace, get the node */ |
265 | 266 | ||
266 | node = walk_state->deferred_node; | 267 | node = walk_state->deferred_node; |
@@ -311,6 +312,7 @@ acpi_ds_load1_begin_op(struct acpi_walk_state * walk_state, | |||
311 | /* Common exit */ | 312 | /* Common exit */ |
312 | 313 | ||
313 | if (!op) { | 314 | if (!op) { |
315 | |||
314 | /* Create a new op */ | 316 | /* Create a new op */ |
315 | 317 | ||
316 | op = acpi_ps_alloc_op(walk_state->opcode); | 318 | op = acpi_ps_alloc_op(walk_state->opcode); |
@@ -413,6 +415,7 @@ acpi_status acpi_ds_load1_end_op(struct acpi_walk_state *walk_state) | |||
413 | #endif | 415 | #endif |
414 | 416 | ||
415 | if (op->common.aml_opcode == AML_NAME_OP) { | 417 | if (op->common.aml_opcode == AML_NAME_OP) { |
418 | |||
416 | /* For Name opcode, get the object type from the argument */ | 419 | /* For Name opcode, get the object type from the argument */ |
417 | 420 | ||
418 | if (op->common.value.arg) { | 421 | if (op->common.value.arg) { |
@@ -521,6 +524,7 @@ acpi_ds_load2_begin_op(struct acpi_walk_state *walk_state, | |||
521 | if ((walk_state->control_state) && | 524 | if ((walk_state->control_state) && |
522 | (walk_state->control_state->common.state == | 525 | (walk_state->control_state->common.state == |
523 | ACPI_CONTROL_CONDITIONAL_EXECUTING)) { | 526 | ACPI_CONTROL_CONDITIONAL_EXECUTING)) { |
527 | |||
524 | /* We are executing a while loop outside of a method */ | 528 | /* We are executing a while loop outside of a method */ |
525 | 529 | ||
526 | status = acpi_ds_exec_begin_op(walk_state, out_op); | 530 | status = acpi_ds_exec_begin_op(walk_state, out_op); |
@@ -554,10 +558,12 @@ acpi_ds_load2_begin_op(struct acpi_walk_state *walk_state, | |||
554 | /* Get the name we are going to enter or lookup in the namespace */ | 558 | /* Get the name we are going to enter or lookup in the namespace */ |
555 | 559 | ||
556 | if (walk_state->opcode == AML_INT_NAMEPATH_OP) { | 560 | if (walk_state->opcode == AML_INT_NAMEPATH_OP) { |
561 | |||
557 | /* For Namepath op, get the path string */ | 562 | /* For Namepath op, get the path string */ |
558 | 563 | ||
559 | buffer_ptr = op->common.value.string; | 564 | buffer_ptr = op->common.value.string; |
560 | if (!buffer_ptr) { | 565 | if (!buffer_ptr) { |
566 | |||
561 | /* No name, just exit */ | 567 | /* No name, just exit */ |
562 | 568 | ||
563 | return_ACPI_STATUS(AE_OK); | 569 | return_ACPI_STATUS(AE_OK); |
@@ -680,6 +686,7 @@ acpi_ds_load2_begin_op(struct acpi_walk_state *walk_state, | |||
680 | /* All other opcodes */ | 686 | /* All other opcodes */ |
681 | 687 | ||
682 | if (op && op->common.node) { | 688 | if (op && op->common.node) { |
689 | |||
683 | /* This op/node was previously entered into the namespace */ | 690 | /* This op/node was previously entered into the namespace */ |
684 | 691 | ||
685 | node = op->common.node; | 692 | node = op->common.node; |
@@ -705,6 +712,7 @@ acpi_ds_load2_begin_op(struct acpi_walk_state *walk_state, | |||
705 | * Note: Name may already exist if we are executing a deferred opcode. | 712 | * Note: Name may already exist if we are executing a deferred opcode. |
706 | */ | 713 | */ |
707 | if (walk_state->deferred_node) { | 714 | if (walk_state->deferred_node) { |
715 | |||
708 | /* This name is already in the namespace, get the node */ | 716 | /* This name is already in the namespace, get the node */ |
709 | 717 | ||
710 | node = walk_state->deferred_node; | 718 | node = walk_state->deferred_node; |
@@ -727,6 +735,7 @@ acpi_ds_load2_begin_op(struct acpi_walk_state *walk_state, | |||
727 | } | 735 | } |
728 | 736 | ||
729 | if (!op) { | 737 | if (!op) { |
738 | |||
730 | /* Create a new op */ | 739 | /* Create a new op */ |
731 | 740 | ||
732 | op = acpi_ps_alloc_op(walk_state->opcode); | 741 | op = acpi_ps_alloc_op(walk_state->opcode); |