lkml.org 
[lkml]   [2007]   [May]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    SubjectRe: [patch 3/3] clockevents: Fix resume logic - updated version
    Date
    On Wednesday, 9 May 2007 13:45, Rafael J. Wysocki wrote:
    > On Wednesday, 9 May 2007 10:59, Thomas Gleixner wrote:
    > > On Wed, 2007-05-09 at 01:31 -0700, Andrew Morton wrote:
    > > > > I suspect I just tested the wrong thing yesterday. Let me recheck just
    > > > > these patches against 2.6.21.
    > > >
    > > > yup, same hang with just these three:
    > > >
    > > > origin
    > > > clocksource-fix-resume-logic
    > > > clockevents-fix-resume-logic-updated-version
    > >
    > > I have no idea, how this affects acpi_evaluate_object()
    >
    > I think the problem is that the ACPI code ordering here is broken in a
    > difficult to fix way.
    >
    > Definitely, we shouldn't execute the _BFS method after creating the image
    > and most probably _WAK shouldn't be executed here either. Moreover,
    > acpi_leave_sleep_state() enables the runtime GPEs, which AFAICS
    > is equivalent to allowing ACPI to generate SCIs. I'm not sure if this is a
    > good idea to do such a thing in this particular place.
    >
    > Andrew, could you please apply the appended patch and see if that
    > helps (should apply to -mm2)?

    Argh, sorry. This needs yet another patch (sent for review to linux-pm) to
    be applied. The following one is against -mm2:

    ---
    NOTE: This is not a complete solution, because it removes the enabling of GPEs
    from the resume-during-hibernation code path entirely, which probbably is not a
    good idea in general.
    ---
    kernel/power/disk.c | 1 -
    1 file changed, 1 deletion(-)

    Index: linux-2.6.21-mm2/kernel/power/disk.c
    ===================================================================
    --- linux-2.6.21-mm2.orig/kernel/power/disk.c
    +++ linux-2.6.21-mm2/kernel/power/disk.c
    @@ -205,7 +205,6 @@ int hibernate(void)

    if (in_suspend) {
    enable_nonboot_cpus();
    - platform_finish();
    device_resume();
    resume_console();
    pr_debug("PM: writing image.\n");
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/
    \
     
     \ /
      Last update: 2007-05-09 14:51    [W:0.046 / U:30.476 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site