Messages in this thread | | | Date | Sun, 31 Aug 2003 23:02:42 +0200 | From | Pavel Machek <> | Subject | Re: swsusp broken |
| |
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/
| |