[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <201006120005.19807.rjw@sisk.pl>
Date: Sat, 12 Jun 2010 00:05:19 +0200
From: "Rafael J. Wysocki" <rjw@...k.pl>
To: Len Brown <lenb@...nel.org>
Cc: ACPI Devel Maling List <linux-acpi@...r.kernel.org>,
Matthew Garrett <mjg@...hat.com>,
Maxim Levitsky <maximlevitsky@...il.com>,
"Moore, Robert" <robert.moore@...el.com>, len.brown@...el.com,
LKML <linux-kernel@...r.kernel.org>
Subject: [PATCH][Regression fix] ACPI / ACPICA: Do not attempt to disable GPE when installing handler
From: Rafael J. Wysocki <rjw@...k.pl>
Commit 0f849d2cc6863c7874889ea60a871fb71399dd3f (ACPICA: Minimize
the differences between linux GPE code and ACPICA code base)
introduced a change attempting to disable a GPE before installing
a handler for it in acpi_install_gpe_handler() which was incorrect.
First, the GPE disabled by it is never enabled again (except during
resume) which leads to battery insert/remove events not being
reported on the Maxim Levitsky's machine. Second, the disabled
GPE is still reported as enabled by the sysfs interface that only
checks its enable register's enable_for_run mask.
Revert this change for now, because it causes more damage to happen
than the bug it was supposed to fix.
Signed-off-by: Rafael J. Wysocki <rjw@...k.pl>
Reported-and-tested-by: Maxim Levitsky <maximlevitsky@...il.com>
---
Hi Len,
This will conflict with
http://git.kernel.org/?p=linux/kernel/git/lenb/linux-acpi-2.6.git;a=commit;h=a771b5f7b5b132fc3e653645405e20abb4da6e8c
but the conflict is easy to resolve.
Please apply.
Rafael
---
drivers/acpi/acpica/evxface.c | 20 +++++++++-----------
1 file changed, 9 insertions(+), 11 deletions(-)
Index: linux-2.6/drivers/acpi/acpica/evxface.c
===================================================================
--- linux-2.6.orig/drivers/acpi/acpica/evxface.c
+++ linux-2.6/drivers/acpi/acpica/evxface.c
@@ -719,13 +720,6 @@ acpi_install_gpe_handler(acpi_handle gpe
handler->context = context;
handler->method_node = gpe_event_info->dispatch.method_node;
- /* Disable the GPE before installing the handler */
-
- status = acpi_ev_disable_gpe(gpe_event_info);
- if (ACPI_FAILURE (status)) {
- goto unlock_and_exit;
- }
-
/* Install the handler */
flags = acpi_os_acquire_lock(acpi_gbl_gpe_lock);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists