On Monday 19 April 2010, Rafael J. Wysocki wrote:
Please try the patch below. It kind of restores the previous behavior,
let's see if it changes anything.
Rafael
---
drivers/acpi/acpica/evgpeblk.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
Index: linux-2.6/drivers/acpi/acpica/evgpeblk.c
===================================================================
--- linux-2.6.orig/drivers/acpi/acpica/evgpeblk.c
+++ linux-2.6/drivers/acpi/acpica/evgpeblk.c
@@ -364,7 +364,7 @@ acpi_ev_match_prw_and_gpe(acpi_handle ob
union acpi_operand_object *pkg_desc;
union acpi_operand_object *obj_desc;
u32 gpe_number;
- acpi_status status;
+ acpi_status status = AE_OK;
ACPI_FUNCTION_TRACE(ev_match_prw_and_gpe);
@@ -439,13 +439,15 @@ acpi_ev_match_prw_and_gpe(acpi_handle ob
if (gpe_device == target_gpe_device) {
gpe_event_info = acpi_ev_gpeblk_event_info(gpe_block,
gpe_number);
- if (gpe_event_info)
+ if (gpe_event_info) {
+ status = acpi_ev_disable_gpe(gpe_event_info);
gpe_event_info->flags |= ACPI_GPE_CAN_WAKE;
+ }
}
cleanup:
acpi_ut_remove_reference(pkg_desc);
- return_ACPI_STATUS(AE_OK);
+ return_ACPI_STATUS(status);
}
/*******************************************************************************
--