diff options
author | Bob Moore <robert.moore@intel.com> | 2008-04-10 11:06:36 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-04-22 14:29:20 -0400 |
commit | 773069d48030e670cf2032a13ddf16a2e0034df3 (patch) | |
tree | 2f45fd7e90600d26c08c641c75059eb0b15d6dcd /include/acpi/acstruct.h | |
parent | 4b119e21d0c66c22e8ca03df05d9de623d0eb50f (diff) |
ACPICA: Several fixes for internal method result stack
fixes STACK_OVERFLOW exception on nested method calls. internal
bugzilla 262 and 275.
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'include/acpi/acstruct.h')
-rw-r--r-- | include/acpi/acstruct.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/acpi/acstruct.h b/include/acpi/acstruct.h index 88482655407f..19b838dc1a16 100644 --- a/include/acpi/acstruct.h +++ b/include/acpi/acstruct.h | |||
@@ -80,12 +80,15 @@ struct acpi_walk_state { | |||
80 | u16 opcode; /* Current AML opcode */ | 80 | u16 opcode; /* Current AML opcode */ |
81 | u8 next_op_info; /* Info about next_op */ | 81 | u8 next_op_info; /* Info about next_op */ |
82 | u8 num_operands; /* Stack pointer for Operands[] array */ | 82 | u8 num_operands; /* Stack pointer for Operands[] array */ |
83 | u8 operand_index; /* Index into operand stack, to be used by acpi_ds_obj_stack_push */ | ||
83 | acpi_owner_id owner_id; /* Owner of objects created during the walk */ | 84 | acpi_owner_id owner_id; /* Owner of objects created during the walk */ |
84 | u8 last_predicate; /* Result of last predicate */ | 85 | u8 last_predicate; /* Result of last predicate */ |
85 | u8 current_result; | 86 | u8 current_result; |
86 | u8 return_used; | 87 | u8 return_used; |
87 | u8 scope_depth; | 88 | u8 scope_depth; |
88 | u8 pass_number; /* Parse pass during table load */ | 89 | u8 pass_number; /* Parse pass during table load */ |
90 | u8 result_size; /* Total elements for the result stack */ | ||
91 | u8 result_count; /* Current number of occupied elements of result stack */ | ||
89 | u32 aml_offset; | 92 | u32 aml_offset; |
90 | u32 arg_types; | 93 | u32 arg_types; |
91 | u32 method_breakpoint; /* For single stepping */ | 94 | u32 method_breakpoint; /* For single stepping */ |