diff options
Diffstat (limited to 'drivers/acpi/acpica/psargs.c')
-rw-r--r-- | drivers/acpi/acpica/psargs.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/acpi/acpica/psargs.c b/drivers/acpi/acpica/psargs.c index 0fdb7fc4824a..f84e54661ba7 100644 --- a/drivers/acpi/acpica/psargs.c +++ b/drivers/acpi/acpica/psargs.c | |||
@@ -269,7 +269,8 @@ acpi_ps_get_next_namepath(struct acpi_walk_state *walk_state, | |||
269 | */ | 269 | */ |
270 | if (ACPI_SUCCESS(status) && | 270 | if (ACPI_SUCCESS(status) && |
271 | possible_method_call && (node->type == ACPI_TYPE_METHOD)) { | 271 | possible_method_call && (node->type == ACPI_TYPE_METHOD)) { |
272 | if (walk_state->opcode == AML_UNLOAD_OP) { | 272 | if (GET_CURRENT_ARG_TYPE(walk_state->arg_types) == |
273 | ARGP_SUPERNAME) { | ||
273 | /* | 274 | /* |
274 | * acpi_ps_get_next_namestring has increased the AML pointer, | 275 | * acpi_ps_get_next_namestring has increased the AML pointer, |
275 | * so we need to restore the saved AML pointer for method call. | 276 | * so we need to restore the saved AML pointer for method call. |
@@ -696,7 +697,7 @@ static union acpi_parse_object *acpi_ps_get_next_field(struct acpi_parse_state | |||
696 | * | 697 | * |
697 | * PARAMETERS: walk_state - Current state | 698 | * PARAMETERS: walk_state - Current state |
698 | * parser_state - Current parser state object | 699 | * parser_state - Current parser state object |
699 | * arg_type - The argument type (AML_*_ARG) | 700 | * arg_type - The parser argument type (ARGP_*) |
700 | * return_arg - Where the next arg is returned | 701 | * return_arg - Where the next arg is returned |
701 | * | 702 | * |
702 | * RETURN: Status, and an op object containing the next argument. | 703 | * RETURN: Status, and an op object containing the next argument. |
@@ -815,9 +816,9 @@ acpi_ps_get_next_arg(struct acpi_walk_state *walk_state, | |||
815 | return_ACPI_STATUS(AE_NO_MEMORY); | 816 | return_ACPI_STATUS(AE_NO_MEMORY); |
816 | } | 817 | } |
817 | 818 | ||
818 | /* To support super_name arg of Unload */ | 819 | /* super_name allows argument to be a method call */ |
819 | 820 | ||
820 | if (walk_state->opcode == AML_UNLOAD_OP) { | 821 | if (arg_type == ARGP_SUPERNAME) { |
821 | status = | 822 | status = |
822 | acpi_ps_get_next_namepath(walk_state, | 823 | acpi_ps_get_next_namepath(walk_state, |
823 | parser_state, arg, | 824 | parser_state, arg, |