Re: 2.6.21-rc1: known regressions (part 2)

Ingo Molnar
2007-03-05T16:44:20Z

* Michael S. Tsirkin <mst@mellanox.co.il> wrote:

> > Quoting Ingo Molnar <mingo@elte.hu>:
> > git-bisect good 0539771d7236b425f285652f6f297cc7939c8f9a
> >
> > 81450b73dde07f473a4a7208b209b4c8b7251d90 is first bad commit
>
> I have confirmed these two on my system.

you could probably get quite a bit further in bisecting the other
breakage, by using the following method:

manully apply the patch below to 81450b73dde and retest. It will most
likely work. Then FIRST unapply the patch and mark the tree via
'git-bisect good' and continue the bisection. Then try to apply the
patch again. If it's already included - ignore the rejected patch.
Whenever git-bisect offers you a new commit, just try to apply the
patch. Ok? This way you'll be able to avoid the known ACPI breakage, and
zoom in on the unknown breakage.

Ingo

---------------->
commit f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38
Author: Alexey Starikovskiy <alexey.y.starikovskiy@linux.intel.com>
Date: Tue Feb 13 02:35:50 2007 -0500

ACPI: Disable wake GPEs only once.

fixes Suspend/Resume regressions due to recent ACPICA update.

Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

diff --git a/drivers/acpi/events/evgpe.c b/drivers/acpi/events/evgpe.c
index dfac3ec..635ba44 100644
--- a/drivers/acpi/events/evgpe.c
+++ b/drivers/acpi/events/evgpe.c
@@ -636,17 +636,6 @@ acpi_ev_gpe_dispatch(struct acpi_gpe_event_info *gpe_event_info, u32 gpe_number)
}
}

- if (!acpi_gbl_system_awake_and_running) {
- /*
- * We just woke up because of a wake GPE. Disable any further GPEs
- * until we are fully up and running (Only wake GPEs should be enabled
- * at this time, but we just brute-force disable them all.)
- * 1) We must disable this particular wake GPE so it won't fire again
- * 2) We want to disable all wake GPEs, since we are now awake
- */
- (void)acpi_hw_disable_all_gpes();
- }
-
/*
* Dispatch the GPE to either an installed handler, or the control method
* associated with this GPE (_Lxx or _Exx). If a handler exists, we invoke