aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/dispatcher
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2006-10-02 00:00:00 -0400
committerLen Brown <len.brown@intel.com>2006-03-31 02:19:03 -0500
commit52fc0b026e99b5d5d585095148d997d5634bbc25 (patch)
tree7bf93132cfd3e6957308a84198ee159f7d43cf6f /drivers/acpi/dispatcher
parent46358614ed5b031797522f1020e989c959a8d8a6 (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')
-rw-r--r--drivers/acpi/dispatcher/dsfield.c1
-rw-r--r--drivers/acpi/dispatcher/dsmethod.c5
-rw-r--r--drivers/acpi/dispatcher/dsmthdat.c1
-rw-r--r--drivers/acpi/dispatcher/dsobject.c6
-rw-r--r--drivers/acpi/dispatcher/dsopcode.c4
-rw-r--r--drivers/acpi/dispatcher/dsutils.c7
-rw-r--r--drivers/acpi/dispatcher/dswexec.c3
-rw-r--r--drivers/acpi/dispatcher/dswload.c9
-rw-r--r--drivers/acpi/dispatcher/dswscope.c2
-rw-r--r--drivers/acpi/dispatcher/dswstate.c5
10 files changed, 42 insertions, 1 deletions
diff --git a/drivers/acpi/dispatcher/dsfield.c b/drivers/acpi/dispatcher/dsfield.c
index 76bc0463f6de..3d33bcc98678 100644
--- a/drivers/acpi/dispatcher/dsfield.c
+++ b/drivers/acpi/dispatcher/dsfield.c
@@ -425,6 +425,7 @@ acpi_ds_init_field_objects(union acpi_parse_object *op,
425 * Walk the list of entries in the field_list 425 * Walk the list of entries in the field_list
426 */ 426 */
427 while (arg) { 427 while (arg) {
428
428 /* Ignore OFFSET and ACCESSAS terms here */ 429 /* Ignore OFFSET and ACCESSAS terms here */
429 430
430 if (arg->common.aml_opcode == AML_INT_NAMEDFIELD_OP) { 431 if (arg->common.aml_opcode == AML_INT_NAMEDFIELD_OP) {
diff --git a/drivers/acpi/dispatcher/dsmethod.c b/drivers/acpi/dispatcher/dsmethod.c
index c475546535b6..238916ce5412 100644
--- a/drivers/acpi/dispatcher/dsmethod.c
+++ b/drivers/acpi/dispatcher/dsmethod.c
@@ -81,6 +81,7 @@ acpi_ds_method_error(acpi_status status, struct acpi_walk_state *walk_state)
81 /* Invoke the global exception handler */ 81 /* Invoke the global exception handler */
82 82
83 if (acpi_gbl_exception_handler) { 83 if (acpi_gbl_exception_handler) {
84
84 /* Exit the interpreter, allow handler to execute methods */ 85 /* Exit the interpreter, allow handler to execute methods */
85 86
86 acpi_ex_exit_interpreter(); 87 acpi_ex_exit_interpreter();
@@ -100,6 +101,7 @@ acpi_ds_method_error(acpi_status status, struct acpi_walk_state *walk_state)
100 } 101 }
101#ifdef ACPI_DISASSEMBLER 102#ifdef ACPI_DISASSEMBLER
102 if (ACPI_FAILURE(status)) { 103 if (ACPI_FAILURE(status)) {
104
103 /* Display method locals/args if disassembler is present */ 105 /* Display method locals/args if disassembler is present */
104 106
105 acpi_dm_dump_method_info(status, walk_state, walk_state->op); 107 acpi_dm_dump_method_info(status, walk_state, walk_state->op);
@@ -249,6 +251,7 @@ acpi_ds_call_control_method(struct acpi_thread_state *thread,
249 } 251 }
250 252
251 if (!(obj_desc->method.method_flags & AML_METHOD_INTERNAL_ONLY)) { 253 if (!(obj_desc->method.method_flags & AML_METHOD_INTERNAL_ONLY)) {
254
252 /* 1) Parse: Create a new walk state for the preempting walk */ 255 /* 1) Parse: Create a new walk state for the preempting walk */
253 256
254 next_walk_state = 257 next_walk_state =
@@ -378,9 +381,11 @@ acpi_ds_restart_control_method(struct acpi_walk_state *walk_state,
378 /* Did the called method return a value? */ 381 /* Did the called method return a value? */
379 382
380 if (return_desc) { 383 if (return_desc) {
384
381 /* Are we actually going to use the return value? */ 385 /* Are we actually going to use the return value? */
382 386
383 if (walk_state->return_used) { 387 if (walk_state->return_used) {
388
384 /* Save the return value from the previous method */ 389 /* Save the return value from the previous method */
385 390
386 status = acpi_ds_result_push(return_desc, walk_state); 391 status = acpi_ds_result_push(return_desc, walk_state);
diff --git a/drivers/acpi/dispatcher/dsmthdat.c b/drivers/acpi/dispatcher/dsmthdat.c
index c025674f938b..f7cb5170aa11 100644
--- a/drivers/acpi/dispatcher/dsmthdat.c
+++ b/drivers/acpi/dispatcher/dsmthdat.c
@@ -701,6 +701,7 @@ acpi_ds_method_data_get_type(u16 opcode,
701 701
702 object = acpi_ns_get_attached_object(node); 702 object = acpi_ns_get_attached_object(node);
703 if (!object) { 703 if (!object) {
704
704 /* Uninitialized local/arg, return TYPE_ANY */ 705 /* Uninitialized local/arg, return TYPE_ANY */
705 706
706 return_VALUE(ACPI_TYPE_ANY); 707 return_VALUE(ACPI_TYPE_ANY);
diff --git a/drivers/acpi/dispatcher/dsobject.c b/drivers/acpi/dispatcher/dsobject.c
index 8b21f0f9e517..1f2d0c6ef36c 100644
--- a/drivers/acpi/dispatcher/dsobject.c
+++ b/drivers/acpi/dispatcher/dsobject.c
@@ -103,6 +103,7 @@ acpi_ds_build_internal_object(struct acpi_walk_state *walk_state,
103 common. 103 common.
104 node))); 104 node)));
105 if (ACPI_FAILURE(status)) { 105 if (ACPI_FAILURE(status)) {
106
106 /* Check if we are resolving a named reference within a package */ 107 /* Check if we are resolving a named reference within a package */
107 108
108 if ((status == AE_NOT_FOUND) 109 if ((status == AE_NOT_FOUND)
@@ -195,6 +196,7 @@ acpi_ds_build_internal_buffer_obj(struct acpi_walk_state *walk_state,
195 */ 196 */
196 obj_desc = *obj_desc_ptr; 197 obj_desc = *obj_desc_ptr;
197 if (!obj_desc) { 198 if (!obj_desc) {
199
198 /* Create a new buffer object */ 200 /* Create a new buffer object */
199 201
200 obj_desc = acpi_ut_create_internal_object(ACPI_TYPE_BUFFER); 202 obj_desc = acpi_ut_create_internal_object(ACPI_TYPE_BUFFER);
@@ -355,6 +357,7 @@ acpi_ds_build_internal_package_obj(struct acpi_walk_state *walk_state,
355 arg = arg->common.next; 357 arg = arg->common.next;
356 for (i = 0; arg; i++) { 358 for (i = 0; arg; i++) {
357 if (arg->common.aml_opcode == AML_INT_RETURN_VALUE_OP) { 359 if (arg->common.aml_opcode == AML_INT_RETURN_VALUE_OP) {
360
358 /* Object (package or buffer) is already built */ 361 /* Object (package or buffer) is already built */
359 362
360 obj_desc->package.elements[i] = 363 obj_desc->package.elements[i] =
@@ -408,6 +411,7 @@ acpi_ds_create_node(struct acpi_walk_state *walk_state,
408 } 411 }
409 412
410 if (!op->common.value.arg) { 413 if (!op->common.value.arg) {
414
411 /* No arguments, there is nothing to do */ 415 /* No arguments, there is nothing to do */
412 416
413 return_ACPI_STATUS(AE_OK); 417 return_ACPI_STATUS(AE_OK);
@@ -469,6 +473,7 @@ acpi_ds_init_object_from_op(struct acpi_walk_state *walk_state,
469 obj_desc = *ret_obj_desc; 473 obj_desc = *ret_obj_desc;
470 op_info = acpi_ps_get_opcode_info(opcode); 474 op_info = acpi_ps_get_opcode_info(opcode);
471 if (op_info->class == AML_CLASS_UNKNOWN) { 475 if (op_info->class == AML_CLASS_UNKNOWN) {
476
472 /* Unknown opcode */ 477 /* Unknown opcode */
473 478
474 return_ACPI_STATUS(AE_TYPE); 479 return_ACPI_STATUS(AE_TYPE);
@@ -626,6 +631,7 @@ acpi_ds_init_object_from_op(struct acpi_walk_state *walk_state,
626 default: /* Other literals, etc.. */ 631 default: /* Other literals, etc.. */
627 632
628 if (op->common.aml_opcode == AML_INT_NAMEPATH_OP) { 633 if (op->common.aml_opcode == AML_INT_NAMEPATH_OP) {
634
629 /* Node was saved in Op */ 635 /* Node was saved in Op */
630 636
631 obj_desc->reference.node = op->common.node; 637 obj_desc->reference.node = op->common.node;
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);
diff --git a/drivers/acpi/dispatcher/dsutils.c b/drivers/acpi/dispatcher/dsutils.c
index 53356a591ac1..3fbe17ebef5a 100644
--- a/drivers/acpi/dispatcher/dsutils.c
+++ b/drivers/acpi/dispatcher/dsutils.c
@@ -202,6 +202,7 @@ acpi_ds_is_result_used(union acpi_parse_object * op,
202 */ 202 */
203 if ((!op->common.parent) || 203 if ((!op->common.parent) ||
204 (op->common.parent->common.aml_opcode == AML_SCOPE_OP)) { 204 (op->common.parent->common.aml_opcode == AML_SCOPE_OP)) {
205
205 /* No parent, the return value cannot possibly be used */ 206 /* No parent, the return value cannot possibly be used */
206 207
207 ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH, 208 ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
@@ -352,6 +353,7 @@ acpi_ds_delete_result_if_not_used(union acpi_parse_object *op,
352 } 353 }
353 354
354 if (!acpi_ds_is_result_used(op, walk_state)) { 355 if (!acpi_ds_is_result_used(op, walk_state)) {
356
355 /* Must pop the result stack (obj_desc should be equal to result_obj) */ 357 /* Must pop the result stack (obj_desc should be equal to result_obj) */
356 358
357 status = acpi_ds_result_pop(&obj_desc, walk_state); 359 status = acpi_ds_result_pop(&obj_desc, walk_state);
@@ -498,7 +500,9 @@ acpi_ds_create_operand(struct acpi_walk_state *walk_state,
498 */ 500 */
499 if ((walk_state->deferred_node) && 501 if ((walk_state->deferred_node) &&
500 (walk_state->deferred_node->type == ACPI_TYPE_BUFFER_FIELD) 502 (walk_state->deferred_node->type == ACPI_TYPE_BUFFER_FIELD)
501 && (arg_index != 0)) { 503 && (arg_index ==
504 (u32) ((walk_state->opcode ==
505 AML_CREATE_FIELD_OP) ? 3 : 2))) {
502 obj_desc = 506 obj_desc =
503 ACPI_CAST_PTR(union acpi_operand_object, 507 ACPI_CAST_PTR(union acpi_operand_object,
504 walk_state->deferred_node); 508 walk_state->deferred_node);
@@ -521,6 +525,7 @@ acpi_ds_create_operand(struct acpi_walk_state *walk_state,
521 && (parent_op->common.aml_opcode != AML_REGION_OP) 525 && (parent_op->common.aml_opcode != AML_REGION_OP)
522 && (parent_op->common.aml_opcode != 526 && (parent_op->common.aml_opcode !=
523 AML_INT_NAMEPATH_OP)) { 527 AML_INT_NAMEPATH_OP)) {
528
524 /* Enter name into namespace if not found */ 529 /* Enter name into namespace if not found */
525 530
526 interpreter_mode = ACPI_IMODE_LOAD_PASS2; 531 interpreter_mode = ACPI_IMODE_LOAD_PASS2;
diff --git a/drivers/acpi/dispatcher/dswexec.c b/drivers/acpi/dispatcher/dswexec.c
index f1af655ff113..198949f41048 100644
--- a/drivers/acpi/dispatcher/dswexec.c
+++ b/drivers/acpi/dispatcher/dswexec.c
@@ -409,6 +409,7 @@ acpi_status acpi_ds_exec_end_op(struct acpi_walk_state *walk_state)
409 * being the object_type and size_of operators. 409 * being the object_type and size_of operators.
410 */ 410 */
411 if (!(walk_state->op_info->flags & AML_NO_OPERAND_RESOLVE)) { 411 if (!(walk_state->op_info->flags & AML_NO_OPERAND_RESOLVE)) {
412
412 /* Resolve all operands */ 413 /* Resolve all operands */
413 414
414 status = acpi_ex_resolve_operands(walk_state->opcode, 415 status = acpi_ex_resolve_operands(walk_state->opcode,
@@ -548,6 +549,7 @@ acpi_status acpi_ds_exec_end_op(struct acpi_walk_state *walk_state)
548 */ 549 */
549 status = acpi_ds_resolve_operands(walk_state); 550 status = acpi_ds_resolve_operands(walk_state);
550 if (ACPI_FAILURE(status)) { 551 if (ACPI_FAILURE(status)) {
552
551 /* On error, clear all resolved operands */ 553 /* On error, clear all resolved operands */
552 554
553 acpi_ds_clear_operands(walk_state); 555 acpi_ds_clear_operands(walk_state);
@@ -722,6 +724,7 @@ acpi_status acpi_ds_exec_end_op(struct acpi_walk_state *walk_state)
722 cleanup: 724 cleanup:
723 725
724 if (walk_state->result_obj) { 726 if (walk_state->result_obj) {
727
725 /* Break to debugger to display result */ 728 /* Break to debugger to display result */
726 729
727 ACPI_DEBUGGER_EXEC(acpi_db_display_result_object 730 ACPI_DEBUGGER_EXEC(acpi_db_display_result_object
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);
diff --git a/drivers/acpi/dispatcher/dswscope.c b/drivers/acpi/dispatcher/dswscope.c
index ada21ef4a174..e2954fff8c5e 100644
--- a/drivers/acpi/dispatcher/dswscope.c
+++ b/drivers/acpi/dispatcher/dswscope.c
@@ -66,6 +66,7 @@ void acpi_ds_scope_stack_clear(struct acpi_walk_state *walk_state)
66 ACPI_FUNCTION_NAME("ds_scope_stack_clear"); 66 ACPI_FUNCTION_NAME("ds_scope_stack_clear");
67 67
68 while (walk_state->scope_info) { 68 while (walk_state->scope_info) {
69
69 /* Pop a scope off the stack */ 70 /* Pop a scope off the stack */
70 71
71 scope_info = walk_state->scope_info; 72 scope_info = walk_state->scope_info;
@@ -105,6 +106,7 @@ acpi_ds_scope_stack_push(struct acpi_namespace_node *node,
105 ACPI_FUNCTION_TRACE("ds_scope_stack_push"); 106 ACPI_FUNCTION_TRACE("ds_scope_stack_push");
106 107
107 if (!node) { 108 if (!node) {
109
108 /* Invalid scope */ 110 /* Invalid scope */
109 111
110 ACPI_ERROR((AE_INFO, "Null scope parameter")); 112 ACPI_ERROR((AE_INFO, "Null scope parameter"));
diff --git a/drivers/acpi/dispatcher/dswstate.c b/drivers/acpi/dispatcher/dswstate.c
index fa78cb74ee36..5bc340b1b286 100644
--- a/drivers/acpi/dispatcher/dswstate.c
+++ b/drivers/acpi/dispatcher/dswstate.c
@@ -170,6 +170,7 @@ acpi_ds_result_pop(union acpi_operand_object ** object,
170 state->results.num_results--; 170 state->results.num_results--;
171 171
172 for (index = ACPI_OBJ_NUM_OPERANDS; index; index--) { 172 for (index = ACPI_OBJ_NUM_OPERANDS; index; index--) {
173
173 /* Check for a valid result object */ 174 /* Check for a valid result object */
174 175
175 if (state->results.obj_desc[index - 1]) { 176 if (state->results.obj_desc[index - 1]) {
@@ -448,6 +449,7 @@ acpi_ds_obj_stack_pop(u32 pop_count, struct acpi_walk_state * walk_state)
448 ACPI_FUNCTION_NAME("ds_obj_stack_pop"); 449 ACPI_FUNCTION_NAME("ds_obj_stack_pop");
449 450
450 for (i = 0; i < pop_count; i++) { 451 for (i = 0; i < pop_count; i++) {
452
451 /* Check for stack underflow */ 453 /* Check for stack underflow */
452 454
453 if (walk_state->num_operands == 0) { 455 if (walk_state->num_operands == 0) {
@@ -494,6 +496,7 @@ acpi_ds_obj_stack_pop_and_delete(u32 pop_count,
494 ACPI_FUNCTION_NAME("ds_obj_stack_pop_and_delete"); 496 ACPI_FUNCTION_NAME("ds_obj_stack_pop_and_delete");
495 497
496 for (i = 0; i < pop_count; i++) { 498 for (i = 0; i < pop_count; i++) {
499
497 /* Check for stack underflow */ 500 /* Check for stack underflow */
498 501
499 if (walk_state->num_operands == 0) { 502 if (walk_state->num_operands == 0) {
@@ -598,6 +601,7 @@ struct acpi_walk_state *acpi_ds_pop_walk_state(struct acpi_thread_state *thread)
598 walk_state = thread->walk_state_list; 601 walk_state = thread->walk_state_list;
599 602
600 if (walk_state) { 603 if (walk_state) {
604
601 /* Next walk state becomes the current walk state */ 605 /* Next walk state becomes the current walk state */
602 606
603 thread->walk_state_list = walk_state->next; 607 thread->walk_state_list = walk_state->next;
@@ -778,6 +782,7 @@ acpi_ds_init_aml_walk(struct acpi_walk_state *walk_state,
778 } 782 }
779 783
780 if (parser_state->start_node) { 784 if (parser_state->start_node) {
785
781 /* Push start scope on scope stack and make it current */ 786 /* Push start scope on scope stack and make it current */
782 787
783 status = 788 status =