Re: [PATCH 3/3] ACPI / ACPICA: Disable GPEs during initialization
From: Rafael J. Wysocki <hidden>
Date: 2011-01-07 21:14:36
On Friday, January 07, 2011, Moore, Robert wrote:
Rafael,
Hi,
Rather than disabling GPE bits one-by-one, I'd like to disable all GPE bits in all GPE registers within the block at the time the block is installed, by clearing/disabling entire registers with a single write. This would cover all the weird hardware and BIOS possibilities in one fell swoop. I believe that this was the original behavior of ACPICA.
That's fine by me. We needed an emergency fix for 2.6.37, hence my patch. Thanks, Rafael
quoted
-----Original Message----- From: Rafael J. Wysocki [mailto:rjw@sisk.pl] Sent: Monday, December 27, 2010 12:16 PM To: Lin, Ming M; Moore, Robert Cc: Len Brown; linux-acpi@vger.kernel.org; Brown, Len Subject: Re: [PATCH 3/3] ACPI / ACPICA: Disable GPEs during initialization Hi, The patch below is needed in the ACPICA core. On Sunday, December 26, 2010, Len Brown wrote:quoted
From: Rafael J. Wysocki <redacted> GPEs with corresponding _Lxx/_Exx control methods need to be disabled during initialization in case they have been enabled by the BIOS, so that they don't fire up until they are enabled by acpi_update_gpes(). References: https://bugzilla.kernel.org/show_bug.cgi?id=25412 Signed-off-by: Rafael J. Wysocki <redacted> Signed-off-by: Len Brown <redacted> --- drivers/acpi/acpica/evgpeinit.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)diff --git a/drivers/acpi/acpica/evgpeinit.cb/drivers/acpi/acpica/evgpeinit.cquoted
index 2c7def9..4c8dea5 100644--- a/drivers/acpi/acpica/evgpeinit.c +++ b/drivers/acpi/acpica/evgpeinit.c@@ -408,6 +408,9 @@ acpi_ev_match_gpe_method(acpi_handle obj_handle, return_ACPI_STATUS(AE_OK); } + /* Disable the GPE in case it's been enabled already. */ + (void)acpi_hw_low_set_gpe(gpe_event_info, ACPI_GPE_DISABLE); + /* * Add the GPE information from above to the gpe_event_info block for * use during dispatch of this GPE.