[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-kernel
Subject:    Re: swsusp broken
From:       Pavel Machek <pavel () ucw ! cz>
Date:       2003-08-31 21:02:42
[Download RAW message or body]

Hi!

> 2.6.0-test4 software suspend seems to be badly broken...looking at it 
> (relevant code included below), no wonder. pm_suspend_disk() calls 
> swsusp_save(), which is is essentially a nop. The intention was clearly 
> that after resume control would return from swsusp_save(), which isn't 
> the case, instead we return from swsusp_write(), and power down
> again!!!

If you want working swsusp/S3, go for -test3. This is known and
Patrick is working on that... I hope we can just rollback
powermanagment to -test3 state.

> --------------------------------------------------------------------------
> static int pm_suspend_disk(void)
> {
>    int error;
> 
>    pr_debug("PM: Attempting to suspend to disk.\n");
>    if (pm_disk_mode == PM_DISK_FIRMWARE)
>        return pm_ops->enter(PM_SUSPEND_DISK);
> 
>    if (!have_swsusp)
>        return -EPERM;
> 
>    pr_debug("PM: snapshotting memory.\n");
>    in_suspend = 1;
>    if ((error = swsusp_save()))
>        goto Done;
> 
>    if (in_suspend) {
>        pr_debug("PM: writing image.\n");
>        error = swsusp_write();
>        if (!error)
>            error = power_down(pm_disk_mode);
>        pr_debug("PM: Power down failed.\n");
>    } else
>        pr_debug("PM: Image restored successfully.\n");
>    swsusp_free();
> Done:
>    return error;
> }
> ----------------------------------------------------------------------------
> 
> /**
> *    swsusp_save - Snapshot memory
> */
> 
> int swsusp_save(void)
> {
> #if defined (CONFIG_HIGHMEM) || defined (COFNIG_DISCONTIGMEM)
>    printk("swsusp is not supported with high- or discontig-mem.\n");
>    return -EPERM;
> #endif
>    return 0;
> }

-- 
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]
-
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/
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic