forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-01-04 1543e317f1da31b75942316931e8f491a8920811
kernel/drivers/acpi/acpica/psparse.c
....@@ -3,7 +3,7 @@
33 *
44 * Module Name: psparse - Parser top level AML parse routines
55 *
6
- * Copyright (C) 2000 - 2018, Intel Corp.
6
+ * Copyright (C) 2000 - 2020, Intel Corp.
77 *
88 *****************************************************************************/
99
....@@ -479,6 +479,21 @@
479479 "Completed one call to walk loop, %s State=%p\n",
480480 acpi_format_exception(status), walk_state));
481481
482
+ if (walk_state->method_pathname && walk_state->method_is_nested) {
483
+
484
+ /* Optional object evaluation log */
485
+
486
+ ACPI_DEBUG_PRINT_RAW((ACPI_DB_EVALUATION,
487
+ "%-26s: %*s%s\n",
488
+ " Exit nested method",
489
+ (walk_state->
490
+ method_nesting_depth + 1) * 3,
491
+ " ",
492
+ &walk_state->method_pathname[1]));
493
+
494
+ ACPI_FREE(walk_state->method_pathname);
495
+ walk_state->method_is_nested = FALSE;
496
+ }
482497 if (status == AE_CTRL_TRANSFER) {
483498 /*
484499 * A method call was detected.
....@@ -493,8 +508,8 @@
493508 }
494509
495510 /*
496
- * If the transfer to the new method method call worked
497
- *, a new walk state was created -- get it
511
+ * If the transfer to the new method method call worked,
512
+ * a new walk state was created -- get it
498513 */
499514 walk_state = acpi_ds_get_current_walk_state(thread);
500515 continue;
....@@ -508,12 +523,12 @@
508523 if (status == AE_ABORT_METHOD) {
509524 acpi_ns_print_node_pathname(walk_state->
510525 method_node,
511
- "Method aborted:");
526
+ "Aborting method");
512527 acpi_os_printf("\n");
513528 } else {
514
- ACPI_ERROR_METHOD
515
- ("Method parse/execution failed",
516
- walk_state->method_node, NULL, status);
529
+ ACPI_ERROR_METHOD("Aborting method",
530
+ walk_state->method_node, NULL,
531
+ status);
517532 }
518533 acpi_ex_enter_interpreter();
519534