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 /drivers/acpi/events | |
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 'drivers/acpi/events')
-rw-r--r-- | drivers/acpi/events/evgpe.c | 4 | ||||
-rw-r--r-- | drivers/acpi/events/evregion.c | 1 |
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 | /* |