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/parser | |
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/parser')
-rw-r--r-- | drivers/acpi/parser/psargs.c | 7 | ||||
-rw-r--r-- | drivers/acpi/parser/psloop.c | 6 | ||||
-rw-r--r-- | drivers/acpi/parser/psopcode.c | 2 | ||||
-rw-r--r-- | drivers/acpi/parser/psparse.c | 8 | ||||
-rw-r--r-- | drivers/acpi/parser/psscope.c | 1 | ||||
-rw-r--r-- | drivers/acpi/parser/pstree.c | 7 | ||||
-rw-r--r-- | drivers/acpi/parser/psutils.c | 1 | ||||
-rw-r--r-- | drivers/acpi/parser/pswalk.c | 3 | ||||
-rw-r--r-- | drivers/acpi/parser/psxface.c | 2 |
9 files changed, 37 insertions, 0 deletions
diff --git a/drivers/acpi/parser/psargs.c b/drivers/acpi/parser/psargs.c index de573be52718..1c5934fe1853 100644 --- a/drivers/acpi/parser/psargs.c +++ b/drivers/acpi/parser/psargs.c | |||
@@ -275,6 +275,7 @@ acpi_ps_get_next_namepath(struct acpi_walk_state *walk_state, | |||
275 | */ | 275 | */ |
276 | if (ACPI_SUCCESS(status) && | 276 | if (ACPI_SUCCESS(status) && |
277 | possible_method_call && (node->type == ACPI_TYPE_METHOD)) { | 277 | possible_method_call && (node->type == ACPI_TYPE_METHOD)) { |
278 | |||
278 | /* This name is actually a control method invocation */ | 279 | /* This name is actually a control method invocation */ |
279 | 280 | ||
280 | method_desc = acpi_ns_get_attached_object(node); | 281 | method_desc = acpi_ns_get_attached_object(node); |
@@ -319,6 +320,7 @@ acpi_ps_get_next_namepath(struct acpi_walk_state *walk_state, | |||
319 | * some not_found cases are allowed | 320 | * some not_found cases are allowed |
320 | */ | 321 | */ |
321 | if (status == AE_NOT_FOUND) { | 322 | if (status == AE_NOT_FOUND) { |
323 | |||
322 | /* 1) not_found is ok during load pass 1/2 (allow forward references) */ | 324 | /* 1) not_found is ok during load pass 1/2 (allow forward references) */ |
323 | 325 | ||
324 | if ((walk_state->parse_flags & ACPI_PARSE_MODE_MASK) != | 326 | if ((walk_state->parse_flags & ACPI_PARSE_MODE_MASK) != |
@@ -354,6 +356,7 @@ acpi_ps_get_next_namepath(struct acpi_walk_state *walk_state, | |||
354 | 356 | ||
355 | if ((walk_state->parse_flags & ACPI_PARSE_MODE_MASK) == | 357 | if ((walk_state->parse_flags & ACPI_PARSE_MODE_MASK) == |
356 | ACPI_PARSE_EXECUTE) { | 358 | ACPI_PARSE_EXECUTE) { |
359 | |||
357 | /* Report a control method execution error */ | 360 | /* Report a control method execution error */ |
358 | 361 | ||
359 | status = acpi_ds_method_error(status, walk_state); | 362 | status = acpi_ds_method_error(status, walk_state); |
@@ -620,6 +623,7 @@ acpi_ps_get_next_arg(struct acpi_walk_state *walk_state, | |||
620 | case ARGP_FIELDLIST: | 623 | case ARGP_FIELDLIST: |
621 | 624 | ||
622 | if (parser_state->aml < parser_state->pkg_end) { | 625 | if (parser_state->aml < parser_state->pkg_end) { |
626 | |||
623 | /* Non-empty list */ | 627 | /* Non-empty list */ |
624 | 628 | ||
625 | while (parser_state->aml < parser_state->pkg_end) { | 629 | while (parser_state->aml < parser_state->pkg_end) { |
@@ -645,6 +649,7 @@ acpi_ps_get_next_arg(struct acpi_walk_state *walk_state, | |||
645 | case ARGP_BYTELIST: | 649 | case ARGP_BYTELIST: |
646 | 650 | ||
647 | if (parser_state->aml < parser_state->pkg_end) { | 651 | if (parser_state->aml < parser_state->pkg_end) { |
652 | |||
648 | /* Non-empty list */ | 653 | /* Non-empty list */ |
649 | 654 | ||
650 | arg = acpi_ps_alloc_op(AML_INT_BYTELIST_OP); | 655 | arg = acpi_ps_alloc_op(AML_INT_BYTELIST_OP); |
@@ -673,6 +678,7 @@ acpi_ps_get_next_arg(struct acpi_walk_state *walk_state, | |||
673 | if (subop == 0 || | 678 | if (subop == 0 || |
674 | acpi_ps_is_leading_char(subop) || | 679 | acpi_ps_is_leading_char(subop) || |
675 | acpi_ps_is_prefix_char(subop)) { | 680 | acpi_ps_is_prefix_char(subop)) { |
681 | |||
676 | /* null_name or name_string */ | 682 | /* null_name or name_string */ |
677 | 683 | ||
678 | arg = acpi_ps_alloc_op(AML_INT_NAMEPATH_OP); | 684 | arg = acpi_ps_alloc_op(AML_INT_NAMEPATH_OP); |
@@ -703,6 +709,7 @@ acpi_ps_get_next_arg(struct acpi_walk_state *walk_state, | |||
703 | case ARGP_OBJLIST: | 709 | case ARGP_OBJLIST: |
704 | 710 | ||
705 | if (parser_state->aml < parser_state->pkg_end) { | 711 | if (parser_state->aml < parser_state->pkg_end) { |
712 | |||
706 | /* Non-empty list of variable arguments, nothing returned */ | 713 | /* Non-empty list of variable arguments, nothing returned */ |
707 | 714 | ||
708 | walk_state->arg_count = ACPI_VAR_ARGS; | 715 | walk_state->arg_count = ACPI_VAR_ARGS; |
diff --git a/drivers/acpi/parser/psloop.c b/drivers/acpi/parser/psloop.c index 00b072e15d19..42062d5abc9e 100644 --- a/drivers/acpi/parser/psloop.c +++ b/drivers/acpi/parser/psloop.c | |||
@@ -95,6 +95,7 @@ acpi_status acpi_ps_parse_loop(struct acpi_walk_state *walk_state) | |||
95 | #if (!defined (ACPI_NO_METHOD_EXECUTION) && !defined (ACPI_CONSTANT_EVAL_ONLY)) | 95 | #if (!defined (ACPI_NO_METHOD_EXECUTION) && !defined (ACPI_CONSTANT_EVAL_ONLY)) |
96 | 96 | ||
97 | if (walk_state->walk_type & ACPI_WALK_METHOD_RESTART) { | 97 | if (walk_state->walk_type & ACPI_WALK_METHOD_RESTART) { |
98 | |||
98 | /* We are restarting a preempted control method */ | 99 | /* We are restarting a preempted control method */ |
99 | 100 | ||
100 | if (acpi_ps_has_completed_scope(parser_state)) { | 101 | if (acpi_ps_has_completed_scope(parser_state)) { |
@@ -143,6 +144,7 @@ acpi_status acpi_ps_parse_loop(struct acpi_walk_state *walk_state) | |||
143 | ACPI_DEBUG_PRINT((ACPI_DB_PARSE, | 144 | ACPI_DEBUG_PRINT((ACPI_DB_PARSE, |
144 | "Popped scope, Op=%p\n", op)); | 145 | "Popped scope, Op=%p\n", op)); |
145 | } else if (walk_state->prev_op) { | 146 | } else if (walk_state->prev_op) { |
147 | |||
146 | /* We were in the middle of an op */ | 148 | /* We were in the middle of an op */ |
147 | 149 | ||
148 | op = walk_state->prev_op; | 150 | op = walk_state->prev_op; |
@@ -156,6 +158,7 @@ acpi_status acpi_ps_parse_loop(struct acpi_walk_state *walk_state) | |||
156 | while ((parser_state->aml < parser_state->aml_end) || (op)) { | 158 | while ((parser_state->aml < parser_state->aml_end) || (op)) { |
157 | aml_op_start = parser_state->aml; | 159 | aml_op_start = parser_state->aml; |
158 | if (!op) { | 160 | if (!op) { |
161 | |||
159 | /* Get the next opcode from the AML stream */ | 162 | /* Get the next opcode from the AML stream */ |
160 | 163 | ||
161 | walk_state->aml_offset = | 164 | walk_state->aml_offset = |
@@ -213,6 +216,7 @@ acpi_status acpi_ps_parse_loop(struct acpi_walk_state *walk_state) | |||
213 | /* Create Op structure and append to parent's argument list */ | 216 | /* Create Op structure and append to parent's argument list */ |
214 | 217 | ||
215 | if (walk_state->op_info->flags & AML_NAMED) { | 218 | if (walk_state->op_info->flags & AML_NAMED) { |
219 | |||
216 | /* Allocate a new pre_op if necessary */ | 220 | /* Allocate a new pre_op if necessary */ |
217 | 221 | ||
218 | if (!pre_op) { | 222 | if (!pre_op) { |
@@ -388,6 +392,7 @@ acpi_status acpi_ps_parse_loop(struct acpi_walk_state *walk_state) | |||
388 | /* Are there any arguments that must be processed? */ | 392 | /* Are there any arguments that must be processed? */ |
389 | 393 | ||
390 | if (walk_state->arg_types) { | 394 | if (walk_state->arg_types) { |
395 | |||
391 | /* Get arguments */ | 396 | /* Get arguments */ |
392 | 397 | ||
393 | switch (op->common.aml_opcode) { | 398 | switch (op->common.aml_opcode) { |
@@ -853,6 +858,7 @@ acpi_status acpi_ps_parse_loop(struct acpi_walk_state *walk_state) | |||
853 | } | 858 | } |
854 | 859 | ||
855 | else if (ACPI_FAILURE(status)) { | 860 | else if (ACPI_FAILURE(status)) { |
861 | |||
856 | /* First error is most important */ | 862 | /* First error is most important */ |
857 | 863 | ||
858 | (void) | 864 | (void) |
diff --git a/drivers/acpi/parser/psopcode.c b/drivers/acpi/parser/psopcode.c index 11d6351ab8b2..9eb8d0663886 100644 --- a/drivers/acpi/parser/psopcode.c +++ b/drivers/acpi/parser/psopcode.c | |||
@@ -731,6 +731,7 @@ const struct acpi_opcode_info *acpi_ps_get_opcode_info(u16 opcode) | |||
731 | * Detect normal 8-bit opcode or extended 16-bit opcode | 731 | * Detect normal 8-bit opcode or extended 16-bit opcode |
732 | */ | 732 | */ |
733 | if (!(opcode & 0xFF00)) { | 733 | if (!(opcode & 0xFF00)) { |
734 | |||
734 | /* Simple (8-bit) opcode: 0-255, can't index beyond table */ | 735 | /* Simple (8-bit) opcode: 0-255, can't index beyond table */ |
735 | 736 | ||
736 | return (&acpi_gbl_aml_op_info | 737 | return (&acpi_gbl_aml_op_info |
@@ -739,6 +740,7 @@ const struct acpi_opcode_info *acpi_ps_get_opcode_info(u16 opcode) | |||
739 | 740 | ||
740 | if (((opcode & 0xFF00) == AML_EXTENDED_OPCODE) && | 741 | if (((opcode & 0xFF00) == AML_EXTENDED_OPCODE) && |
741 | (((u8) opcode) <= MAX_EXTENDED_OPCODE)) { | 742 | (((u8) opcode) <= MAX_EXTENDED_OPCODE)) { |
743 | |||
742 | /* Valid extended (16-bit) opcode */ | 744 | /* Valid extended (16-bit) opcode */ |
743 | 745 | ||
744 | return (&acpi_gbl_aml_op_info | 746 | return (&acpi_gbl_aml_op_info |
diff --git a/drivers/acpi/parser/psparse.c b/drivers/acpi/parser/psparse.c index a9f3229f4106..83d8916bc1af 100644 --- a/drivers/acpi/parser/psparse.c +++ b/drivers/acpi/parser/psparse.c | |||
@@ -106,6 +106,7 @@ u16 acpi_ps_peek_opcode(struct acpi_parse_state * parser_state) | |||
106 | opcode = (u16) ACPI_GET8(aml); | 106 | opcode = (u16) ACPI_GET8(aml); |
107 | 107 | ||
108 | if (opcode == AML_EXTENDED_OP_PREFIX) { | 108 | if (opcode == AML_EXTENDED_OP_PREFIX) { |
109 | |||
109 | /* Extended opcode, get the second opcode byte */ | 110 | /* Extended opcode, get the second opcode byte */ |
110 | 111 | ||
111 | aml++; | 112 | aml++; |
@@ -158,6 +159,7 @@ acpi_ps_complete_this_op(struct acpi_walk_state * walk_state, | |||
158 | if (op->common.parent) { | 159 | if (op->common.parent) { |
159 | prev = op->common.parent->common.value.arg; | 160 | prev = op->common.parent->common.value.arg; |
160 | if (!prev) { | 161 | if (!prev) { |
162 | |||
161 | /* Nothing more to do */ | 163 | /* Nothing more to do */ |
162 | 164 | ||
163 | goto cleanup; | 165 | goto cleanup; |
@@ -245,6 +247,7 @@ acpi_ps_complete_this_op(struct acpi_walk_state * walk_state, | |||
245 | /* We must unlink this op from the parent tree */ | 247 | /* We must unlink this op from the parent tree */ |
246 | 248 | ||
247 | if (prev == op) { | 249 | if (prev == op) { |
250 | |||
248 | /* This op is the first in the list */ | 251 | /* This op is the first in the list */ |
249 | 252 | ||
250 | if (replacement_op) { | 253 | if (replacement_op) { |
@@ -265,6 +268,7 @@ acpi_ps_complete_this_op(struct acpi_walk_state * walk_state, | |||
265 | 268 | ||
266 | else | 269 | else |
267 | while (prev) { | 270 | while (prev) { |
271 | |||
268 | /* Traverse all siblings in the parent's argument list */ | 272 | /* Traverse all siblings in the parent's argument list */ |
269 | 273 | ||
270 | next = prev->common.next; | 274 | next = prev->common.next; |
@@ -510,6 +514,7 @@ acpi_status acpi_ps_parse_aml(struct acpi_walk_state *walk_state) | |||
510 | } else if (status == AE_CTRL_TERMINATE) { | 514 | } else if (status == AE_CTRL_TERMINATE) { |
511 | status = AE_OK; | 515 | status = AE_OK; |
512 | } else if ((status != AE_OK) && (walk_state->method_desc)) { | 516 | } else if ((status != AE_OK) && (walk_state->method_desc)) { |
517 | |||
513 | /* Either the method parse or actual execution failed */ | 518 | /* Either the method parse or actual execution failed */ |
514 | 519 | ||
515 | ACPI_ERROR_METHOD("Method parse/execution failed", | 520 | ACPI_ERROR_METHOD("Method parse/execution failed", |
@@ -551,6 +556,7 @@ acpi_status acpi_ps_parse_aml(struct acpi_walk_state *walk_state) | |||
551 | if (((walk_state->parse_flags & ACPI_PARSE_MODE_MASK) == | 556 | if (((walk_state->parse_flags & ACPI_PARSE_MODE_MASK) == |
552 | ACPI_PARSE_EXECUTE) || (ACPI_FAILURE(status))) { | 557 | ACPI_PARSE_EXECUTE) || (ACPI_FAILURE(status))) { |
553 | if (walk_state->method_desc) { | 558 | if (walk_state->method_desc) { |
559 | |||
554 | /* Decrement the thread count on the method parse tree */ | 560 | /* Decrement the thread count on the method parse tree */ |
555 | 561 | ||
556 | if (walk_state->method_desc->method. | 562 | if (walk_state->method_desc->method. |
@@ -633,12 +639,14 @@ acpi_status acpi_ps_parse_aml(struct acpi_walk_state *walk_state) | |||
633 | } | 639 | } |
634 | } else { | 640 | } else { |
635 | if (previous_walk_state->return_desc) { | 641 | if (previous_walk_state->return_desc) { |
642 | |||
636 | /* Caller doesn't want it, must delete it */ | 643 | /* Caller doesn't want it, must delete it */ |
637 | 644 | ||
638 | acpi_ut_remove_reference(previous_walk_state-> | 645 | acpi_ut_remove_reference(previous_walk_state-> |
639 | return_desc); | 646 | return_desc); |
640 | } | 647 | } |
641 | if (previous_walk_state->implicit_return_obj) { | 648 | if (previous_walk_state->implicit_return_obj) { |
649 | |||
642 | /* Caller doesn't want it, must delete it */ | 650 | /* Caller doesn't want it, must delete it */ |
643 | 651 | ||
644 | acpi_ut_remove_reference(previous_walk_state-> | 652 | acpi_ut_remove_reference(previous_walk_state-> |
diff --git a/drivers/acpi/parser/psscope.c b/drivers/acpi/parser/psscope.c index bc6047caccd9..edb7c9ba6ec2 100644 --- a/drivers/acpi/parser/psscope.c +++ b/drivers/acpi/parser/psscope.c | |||
@@ -165,6 +165,7 @@ acpi_ps_push_scope(struct acpi_parse_state *parser_state, | |||
165 | acpi_ut_push_generic_state(&parser_state->scope, scope); | 165 | acpi_ut_push_generic_state(&parser_state->scope, scope); |
166 | 166 | ||
167 | if (arg_count == ACPI_VAR_ARGS) { | 167 | if (arg_count == ACPI_VAR_ARGS) { |
168 | |||
168 | /* Multiple arguments */ | 169 | /* Multiple arguments */ |
169 | 170 | ||
170 | scope->parse_scope.arg_end = parser_state->pkg_end; | 171 | scope->parse_scope.arg_end = parser_state->pkg_end; |
diff --git a/drivers/acpi/parser/pstree.c b/drivers/acpi/parser/pstree.c index dd6f16726fc4..6aa0012643ce 100644 --- a/drivers/acpi/parser/pstree.c +++ b/drivers/acpi/parser/pstree.c | |||
@@ -77,6 +77,7 @@ union acpi_parse_object *acpi_ps_get_arg(union acpi_parse_object *op, u32 argn) | |||
77 | 77 | ||
78 | op_info = acpi_ps_get_opcode_info(op->common.aml_opcode); | 78 | op_info = acpi_ps_get_opcode_info(op->common.aml_opcode); |
79 | if (op_info->class == AML_CLASS_UNKNOWN) { | 79 | if (op_info->class == AML_CLASS_UNKNOWN) { |
80 | |||
80 | /* Invalid opcode or ASCII character */ | 81 | /* Invalid opcode or ASCII character */ |
81 | 82 | ||
82 | return (NULL); | 83 | return (NULL); |
@@ -85,6 +86,7 @@ union acpi_parse_object *acpi_ps_get_arg(union acpi_parse_object *op, u32 argn) | |||
85 | /* Check if this opcode requires argument sub-objects */ | 86 | /* Check if this opcode requires argument sub-objects */ |
86 | 87 | ||
87 | if (!(op_info->flags & AML_HAS_ARGS)) { | 88 | if (!(op_info->flags & AML_HAS_ARGS)) { |
89 | |||
88 | /* Has no linked argument objects */ | 90 | /* Has no linked argument objects */ |
89 | 91 | ||
90 | return (NULL); | 92 | return (NULL); |
@@ -130,6 +132,7 @@ acpi_ps_append_arg(union acpi_parse_object *op, union acpi_parse_object *arg) | |||
130 | 132 | ||
131 | op_info = acpi_ps_get_opcode_info(op->common.aml_opcode); | 133 | op_info = acpi_ps_get_opcode_info(op->common.aml_opcode); |
132 | if (op_info->class == AML_CLASS_UNKNOWN) { | 134 | if (op_info->class == AML_CLASS_UNKNOWN) { |
135 | |||
133 | /* Invalid opcode */ | 136 | /* Invalid opcode */ |
134 | 137 | ||
135 | ACPI_ERROR((AE_INFO, "Invalid AML Opcode: 0x%2.2X", | 138 | ACPI_ERROR((AE_INFO, "Invalid AML Opcode: 0x%2.2X", |
@@ -140,6 +143,7 @@ acpi_ps_append_arg(union acpi_parse_object *op, union acpi_parse_object *arg) | |||
140 | /* Check if this opcode requires argument sub-objects */ | 143 | /* Check if this opcode requires argument sub-objects */ |
141 | 144 | ||
142 | if (!(op_info->flags & AML_HAS_ARGS)) { | 145 | if (!(op_info->flags & AML_HAS_ARGS)) { |
146 | |||
143 | /* Has no linked argument objects */ | 147 | /* Has no linked argument objects */ |
144 | 148 | ||
145 | return; | 149 | return; |
@@ -148,6 +152,7 @@ acpi_ps_append_arg(union acpi_parse_object *op, union acpi_parse_object *arg) | |||
148 | /* Append the argument to the linked argument list */ | 152 | /* Append the argument to the linked argument list */ |
149 | 153 | ||
150 | if (op->common.value.arg) { | 154 | if (op->common.value.arg) { |
155 | |||
151 | /* Append to existing argument list */ | 156 | /* Append to existing argument list */ |
152 | 157 | ||
153 | prev_arg = op->common.value.arg; | 158 | prev_arg = op->common.value.arg; |
@@ -222,12 +227,14 @@ union acpi_parse_object *acpi_ps_get_depth_next(union acpi_parse_object *origin, | |||
222 | } | 227 | } |
223 | 228 | ||
224 | if (arg == origin) { | 229 | if (arg == origin) { |
230 | |||
225 | /* Reached parent of origin, end search */ | 231 | /* Reached parent of origin, end search */ |
226 | 232 | ||
227 | return (NULL); | 233 | return (NULL); |
228 | } | 234 | } |
229 | 235 | ||
230 | if (parent->common.next) { | 236 | if (parent->common.next) { |
237 | |||
231 | /* Found sibling of parent */ | 238 | /* Found sibling of parent */ |
232 | 239 | ||
233 | return (parent->common.next); | 240 | return (parent->common.next); |
diff --git a/drivers/acpi/parser/psutils.c b/drivers/acpi/parser/psutils.c index 3e07cb9cb748..a4c33a4bfe35 100644 --- a/drivers/acpi/parser/psutils.c +++ b/drivers/acpi/parser/psutils.c | |||
@@ -135,6 +135,7 @@ union acpi_parse_object *acpi_ps_alloc_op(u16 opcode) | |||
135 | /* Allocate the minimum required size object */ | 135 | /* Allocate the minimum required size object */ |
136 | 136 | ||
137 | if (flags == ACPI_PARSEOP_GENERIC) { | 137 | if (flags == ACPI_PARSEOP_GENERIC) { |
138 | |||
138 | /* The generic op (default) is by far the most common (16 to 1) */ | 139 | /* The generic op (default) is by far the most common (16 to 1) */ |
139 | 140 | ||
140 | op = acpi_os_acquire_object(acpi_gbl_ps_node_cache); | 141 | op = acpi_os_acquire_object(acpi_gbl_ps_node_cache); |
diff --git a/drivers/acpi/parser/pswalk.c b/drivers/acpi/parser/pswalk.c index 06f05bfd7612..3d08b8c6db41 100644 --- a/drivers/acpi/parser/pswalk.c +++ b/drivers/acpi/parser/pswalk.c | |||
@@ -69,13 +69,16 @@ void acpi_ps_delete_parse_tree(union acpi_parse_object *subtree_root) | |||
69 | /* Visit all nodes in the subtree */ | 69 | /* Visit all nodes in the subtree */ |
70 | 70 | ||
71 | while (op) { | 71 | while (op) { |
72 | |||
72 | /* Check if we are not ascending */ | 73 | /* Check if we are not ascending */ |
73 | 74 | ||
74 | if (op != parent) { | 75 | if (op != parent) { |
76 | |||
75 | /* Look for an argument or child of the current op */ | 77 | /* Look for an argument or child of the current op */ |
76 | 78 | ||
77 | next = acpi_ps_get_arg(op, 0); | 79 | next = acpi_ps_get_arg(op, 0); |
78 | if (next) { | 80 | if (next) { |
81 | |||
79 | /* Still going downward in tree (Op is not completed yet) */ | 82 | /* Still going downward in tree (Op is not completed yet) */ |
80 | 83 | ||
81 | op = next; | 84 | op = next; |
diff --git a/drivers/acpi/parser/psxface.c b/drivers/acpi/parser/psxface.c index 2dd48cbb7c02..e09a820ee294 100644 --- a/drivers/acpi/parser/psxface.c +++ b/drivers/acpi/parser/psxface.c | |||
@@ -317,9 +317,11 @@ acpi_ps_update_parameter_list(struct acpi_parameter_info *info, u16 action) | |||
317 | acpi_native_uint i; | 317 | acpi_native_uint i; |
318 | 318 | ||
319 | if ((info->parameter_type == ACPI_PARAM_ARGS) && (info->parameters)) { | 319 | if ((info->parameter_type == ACPI_PARAM_ARGS) && (info->parameters)) { |
320 | |||
320 | /* Update reference count for each parameter */ | 321 | /* Update reference count for each parameter */ |
321 | 322 | ||
322 | for (i = 0; info->parameters[i]; i++) { | 323 | for (i = 0; info->parameters[i]; i++) { |
324 | |||
323 | /* Ignore errors, just do them all */ | 325 | /* Ignore errors, just do them all */ |
324 | 326 | ||
325 | (void)acpi_ut_update_object_reference(info-> | 327 | (void)acpi_ut_update_object_reference(info-> |