From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ray Lee Subject: ACPI: resolve GPE immediate wakeup regression Date: Mon, 12 Mar 2007 12:59:51 -0400 Message-ID: <45F58707.1@madrabbit.org> References: <45F0C018.2020409@madrabbit.org> <45F24DCE.8060902@madrabbit.org> <200703121142.46705.lenb@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: Received: from tapsys.com ([72.36.178.242]:41506 "EHLO tapsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750994AbXCLRcF (ORCPT ); Mon, 12 Mar 2007 13:32:05 -0400 In-Reply-To: <200703121142.46705.lenb@kernel.org> Sender: linux-acpi-owner@vger.kernel.org List-Id: linux-acpi@vger.kernel.org To: Len Brown Cc: Adrian Bunk , Linus Torvalds , LKML , "Rafael J. Wysocki" , Alexey Starikovskiy , Vladimir Lebedev , linux-acpi@vger.kernel.org Len Brown wrote: > On Saturday 10 March 2007 01:18, Ray Lee wrote: >> Ray Lee wrote: >>> In 2.6.21-rc1,2,3, my laptop will fully suspend to ram, but then >>> *immediately* resumes back from suspension. (It resumes just fine, as well.) >> [...] >>> HP/Compaq NX6125 system, AMD64, dmesg attached. > > I'd rather not break the Acer, if possible. > > Ray, Please test the incremental patch below. Tested and Alexey's patch (copied below) fixes the problem. I added a signed-off-by just in case; feel free to yank it if inappropriate. Regardless, please apply. Thanks Len, Alexey. Ray --- Subject: ACPI: resolve GPE immediate wakeup regression From: Alexey Starikovskiy Removing disabling of GPEs from enter_sleep function causes regression on nx6125. Doing disable_all_gpes both in prepare to sleep and in enter sleep resolves regression, while still fixes Acer notebooks. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown Signed-off-by: Ray Lee --- drivers/acpi/hardware/hwsleep.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/drivers/acpi/hardware/hwsleep.c b/drivers/acpi/hardware/hwsleep.c index 8fa9312..c84b1fa 100644 --- a/drivers/acpi/hardware/hwsleep.c +++ b/drivers/acpi/hardware/hwsleep.c @@ -300,6 +300,11 @@ acpi_status asmlinkage acpi_enter_sleep_state(u8 sleep_state) /* * 2) Enable all wakeup GPEs */ + status = acpi_hw_disable_all_gpes(); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); + } + acpi_gbl_system_awake_and_running = FALSE; status = acpi_hw_enable_all_wakeup_gpes();