https://bugzilla.novell.com/show_bug.cgi?id=299882#c45
--- Comment #45 from Pavel Machek 2007-10-11 03:34:35 MST ---
I think I talked jikos into bringing the machine next week :-).
Patch is at:
http://www.sisk.pl/kernel/hibernation_and_suspend/current/patches/32-ACPI-Cl...
..hmm... for really quick and dirty hack, could you _revert_ this, then add
if (sleep_state <= 4) return
at the beggining of acpi_gpe_sleep_prepare? That means "old" code is still used
for shutdown, while "new" code is used for sleep.
---- linux-2.6.23-rc9.orig/drivers/acpi/sleep/wakeup.c
+++ linux-2.6.23-rc9/drivers/acpi/sleep/wakeup.c
-/*
- * Disable all wakeup GPEs before entering requested sleep state.
- * @sleep_state: ACPI state
- * Since acpi_enter_sleep_state() will disable all
- * RUNTIME GPEs, we simply mark all GPES that
- * are not enabled for wakeup from requested state as RUNTIME.
- */
-void acpi_gpe_sleep_prepare(u32 sleep_state)
-{
- struct list_head *node, *next;
-
- list_for_each_safe(node, next, &acpi_wakeup_device_list) {
- struct acpi_device *dev = container_of(node,
- struct acpi_device,
- wakeup_list);
-
- /* The GPE can wakeup system from this state, don't touch it */
- if ((u32) dev->wakeup.sleep_state >= sleep_state)
- continue;
- /* acpi_set_gpe_type will automatically disable GPE */
- acpi_set_gpe_type(dev->wakeup.gpe_device,
- dev->wakeup.gpe_number,
- ACPI_GPE_TYPE_RUNTIME);
- }
-}
Index: linux-2.6.23-rc9/include/acpi/acpi_bus.h
===================================================================
--- linux-2.6.23-rc9.orig/include/acpi/acpi_bus.h
+++ linux-2.6.23-rc9/include/acpi/acpi_bus.h
@@ -264,7 +264,6 @@ struct acpi_device_wakeup_flags {
struct acpi_device_wakeup_state {
u8 enabled:1;
- u8 active:1;
};
struct acpi_device_wakeup {
Index: linux-2.6.23-rc9/drivers/acpi/sleep/main.c
===================================================================
--- linux-2.6.23-rc9.orig/drivers/acpi/sleep/main.c
+++ linux-2.6.23-rc9/drivers/acpi/sleep/main.c
@@ -44,7 +44,6 @@ int acpi_sleep_prepare(u32 acpi_state)
ACPI_FLUSH_CPU_CACHE();
acpi_enable_wakeup_device_prep(acpi_state);
#endif
- acpi_gpe_sleep_prepare(acpi_state);
acpi_enter_sleep_state_prep(acpi_state);
return 0;
}
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.