diff options
author | Bob Moore <robert.moore@intel.com> | 2008-06-10 00:38:10 -0400 |
---|---|---|
committer | Andi Kleen <andi@basil.nowhere.org> | 2008-07-16 17:27:03 -0400 |
commit | c91d924e3af08d4f98eab6ebf81f2b8ce132448f (patch) | |
tree | 8c3f7ca15ab9f8f2451a8cf87c935de2d01fb2ef /include/acpi | |
parent | f3454ae8104efb2dbf0d08ec42c6f5d0fe9225bc (diff) |
ACPICA: Fix for hang on GPE method invocation
Fixes problem where the new method argument count validation mechanism
will enter an infinite loop when a GPE method is dispatched.
Problem fixed be removing the obsolete code that passes GPE block
information to the notify handler via the control method parameter pointer.
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Diffstat (limited to 'include/acpi')
-rw-r--r-- | include/acpi/acstruct.h | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/include/acpi/acstruct.h b/include/acpi/acstruct.h index 1cc74504f1c4..818c24d7d2d1 100644 --- a/include/acpi/acstruct.h +++ b/include/acpi/acstruct.h | |||
@@ -108,7 +108,6 @@ struct acpi_walk_state { | |||
108 | union acpi_operand_object **caller_return_desc; | 108 | union acpi_operand_object **caller_return_desc; |
109 | union acpi_generic_state *control_state; /* List of control states (nested IFs) */ | 109 | union acpi_generic_state *control_state; /* List of control states (nested IFs) */ |
110 | struct acpi_namespace_node *deferred_node; /* Used when executing deferred opcodes */ | 110 | struct acpi_namespace_node *deferred_node; /* Used when executing deferred opcodes */ |
111 | struct acpi_gpe_event_info *gpe_event_info; /* Info for GPE (_Lxx/_Exx methods only */ | ||
112 | union acpi_operand_object *implicit_return_obj; | 111 | union acpi_operand_object *implicit_return_obj; |
113 | struct acpi_namespace_node *method_call_node; /* Called method Node */ | 112 | struct acpi_namespace_node *method_call_node; /* Called method Node */ |
114 | union acpi_parse_object *method_call_op; /* method_call Op if running a method */ | 113 | union acpi_parse_object *method_call_op; /* method_call Op if running a method */ |
@@ -191,16 +190,10 @@ struct acpi_evaluate_info { | |||
191 | union acpi_operand_object *return_object; | 190 | union acpi_operand_object *return_object; |
192 | u8 param_count; | 191 | u8 param_count; |
193 | u8 pass_number; | 192 | u8 pass_number; |
194 | u8 parameter_type; | ||
195 | u8 return_object_type; | 193 | u8 return_object_type; |
196 | u8 flags; | 194 | u8 flags; |
197 | }; | 195 | }; |
198 | 196 | ||
199 | /* Types for parameter_type above */ | ||
200 | |||
201 | #define ACPI_PARAM_ARGS 0 | ||
202 | #define ACPI_PARAM_GPE 1 | ||
203 | |||
204 | /* Values for Flags above */ | 197 | /* Values for Flags above */ |
205 | 198 | ||
206 | #define ACPI_IGNORE_RETURN_VALUE 1 | 199 | #define ACPI_IGNORE_RETURN_VALUE 1 |