aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/events
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2008-06-10 00:38:10 -0400
committerAndi Kleen <andi@basil.nowhere.org>2008-07-16 17:27:03 -0400
commitc91d924e3af08d4f98eab6ebf81f2b8ce132448f (patch)
tree8c3f7ca15ab9f8f2451a8cf87c935de2d01fb2ef /drivers/acpi/events
parentf3454ae8104efb2dbf0d08ec42c6f5d0fe9225bc (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 'drivers/acpi/events')
-rw-r--r--drivers/acpi/events/evgpe.c4
-rw-r--r--drivers/acpi/events/evregion.c1
2 files changed, 0 insertions, 5 deletions
diff --git a/drivers/acpi/events/evgpe.c b/drivers/acpi/events/evgpe.c
index e0339d4139a4..ca356e5ae2c3 100644
--- a/drivers/acpi/events/evgpe.c
+++ b/drivers/acpi/events/evgpe.c
@@ -565,10 +565,6 @@ static void ACPI_SYSTEM_XFACE acpi_ev_asynch_execute_gpe_method(void *context)
565 */ 565 */
566 info->prefix_node = 566 info->prefix_node =
567 local_gpe_event_info.dispatch.method_node; 567 local_gpe_event_info.dispatch.method_node;
568 info->parameters =
569 ACPI_CAST_PTR(union acpi_operand_object *,
570 gpe_event_info);
571 info->parameter_type = ACPI_PARAM_GPE;
572 info->flags = ACPI_IGNORE_RETURN_VALUE; 568 info->flags = ACPI_IGNORE_RETURN_VALUE;
573 569
574 status = acpi_ns_evaluate(info); 570 status = acpi_ns_evaluate(info);
diff --git a/drivers/acpi/events/evregion.c b/drivers/acpi/events/evregion.c
index 1628f5934752..5ab4c01417df 100644
--- a/drivers/acpi/events/evregion.c
+++ b/drivers/acpi/events/evregion.c
@@ -219,7 +219,6 @@ acpi_ev_execute_reg_method(union acpi_operand_object *region_obj, u32 function)
219 info->prefix_node = region_obj2->extra.method_REG; 219 info->prefix_node = region_obj2->extra.method_REG;
220 info->pathname = NULL; 220 info->pathname = NULL;
221 info->parameters = args; 221 info->parameters = args;
222 info->parameter_type = ACPI_PARAM_ARGS;
223 info->flags = ACPI_IGNORE_RETURN_VALUE; 222 info->flags = ACPI_IGNORE_RETURN_VALUE;
224 223
225 /* 224 /*