2010-01-15 00:27:08

by Roel Kluin

[permalink] [raw]
Subject: [PATCH] ACPICA: wrong acpi_parse_state assigned acpi_ps_init_scope() ?

Assign the package end, not the last AML byte.

Signed-off-by: Roel Kluin <[email protected]>
---
Is this right?

diff --git a/drivers/acpi/acpica/psscope.c b/drivers/acpi/acpica/psscope.c
index 2feca5c..a8dfe16 100644
--- a/drivers/acpi/acpica/psscope.c
+++ b/drivers/acpi/acpica/psscope.c
@@ -118,7 +118,7 @@ acpi_ps_init_scope(struct acpi_parse_state * parser_state,
scope->parse_scope.op = root_op;
scope->parse_scope.arg_count = ACPI_VAR_ARGS;
scope->parse_scope.arg_end = parser_state->aml_end;
- scope->parse_scope.pkg_end = parser_state->aml_end;
+ scope->parse_scope.pkg_end = parser_state->pkg_end;

parser_state->scope = scope;
parser_state->start_op = root_op;


2010-01-15 01:47:17

by Lin Ming

[permalink] [raw]
Subject: Re: [PATCH] ACPICA: wrong acpi_parse_state assigned acpi_ps_init_scope() ?

On Fri, Jan 15, 2010 at 8:31 AM, Roel Kluin <[email protected]> wrote:
> Assign the package end, not the last AML byte.
>
> Signed-off-by: Roel Kluin <[email protected]>
> ---
> Is this right?
>
> diff --git a/drivers/acpi/acpica/psscope.c b/drivers/acpi/acpica/psscope.c
> index 2feca5c..a8dfe16 100644
> --- a/drivers/acpi/acpica/psscope.c
> +++ b/drivers/acpi/acpica/psscope.c
> @@ -118,7 +118,7 @@ acpi_ps_init_scope(struct acpi_parse_state * parser_state,
> ? ? ? ?scope->parse_scope.op = root_op;
> ? ? ? ?scope->parse_scope.arg_count = ACPI_VAR_ARGS;
> ? ? ? ?scope->parse_scope.arg_end = parser_state->aml_end;
> - ? ? ? scope->parse_scope.pkg_end = parser_state->aml_end;
> + ? ? ? scope->parse_scope.pkg_end = parser_state->pkg_end;

->aml_end and ->pkg_end are same here.

acpi_ps_init_scope is only called in acpi_ds_init_aml_walk which set
aml_end and pkg_end the same.

acpi_ds_init_aml_walk(...)
{
....
walk_state->parser_state.aml_end =
walk_state->parser_state.pkg_end = aml_start + aml_length;
.....

status = acpi_ps_init_scope(&walk_state->parser_state, op);
.....
}

Lin Ming

>
> ? ? ? ?parser_state->scope = scope;
> ? ? ? ?parser_state->start_op = root_op;
> --
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to [email protected]
> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
>