Messages in this thread | | | Date | Sat, 30 Aug 2003 15:50:10 +0300 | From | Mika Penttilä <> | Subject | swsusp broken |
| |
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!!!
--Mika
-------------------------------------------------------------------------- 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; }
- 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/
| |