diff -r -u linux-2.6.5.orig/drivers/acpi/Kconfig linux-2.6.5/drivers/acpi/Kconfig
--- linux-2.6.5.orig/drivers/acpi/Kconfig	2004-04-04 05:38:24.000000000 +0200
+++ linux-2.6.5/drivers/acpi/Kconfig	2004-04-10 02:49:38.000000000 +0200
@@ -204,6 +204,15 @@
 	  If you have a legacy free Toshiba laptop (such as the Libretto L1
 	  series), say Y.
 
+config ACPI_NO_GPE_DISABLE
+	bool "Dont disable GPE events"
+	depends on ACPI
+	default n
+	help
+	  Normally we disable all GPE events when we enter a system sleep state.
+	  If you experience, that your Keyboard-Power-ON or other Wakeup
+	  methods don't work anymore, try setting this to Y. Otherwise, say N.
+
 config ACPI_DEBUG
 	bool "Debug Statements"
 	depends on ACPI_INTERPRETER
diff -r -u linux-2.6.5.orig/drivers/acpi/hardware/hwsleep.c linux-2.6.5/drivers/acpi/hardware/hwsleep.c
--- linux-2.6.5.orig/drivers/acpi/hardware/hwsleep.c	2004-04-04 05:36:18.000000000 +0200
+++ linux-2.6.5/drivers/acpi/hardware/hwsleep.c	2004-04-10 03:01:16.000000000 +0200
@@ -290,10 +290,12 @@
 	 * 1) Disable all runtime GPEs
 	 * 2) Enable all wakeup GPEs
 	 */
+#ifndef CONFIG_ACPI_NO_GPE_DISABLE
 	status = acpi_hw_prepare_gpes_for_sleep ();
 	if (ACPI_FAILURE (status)) {
 		return_ACPI_STATUS (status);
 	}
+#endif /* CONFIG_ACPI_NO_GPE_DISABLE */
 
 	/* Get current value of PM1A control */
 
@@ -423,10 +425,12 @@
 	 * 1) Disable all runtime GPEs
 	 * 2) Enable all wakeup GPEs
 	 */
+#ifndef CONFIG_ACPI_NO_GPE_DISABLE
 	status = acpi_hw_prepare_gpes_for_sleep ();
 	if (ACPI_FAILURE (status)) {
 		return_ACPI_STATUS (status);
 	}
+#endif /* CONFIG_ACPI_NO_GPE_DISABLE */
 
 	ACPI_FLUSH_CPU_CACHE ();
 
