swsusp broken

From: Mika Penttilä (mika.penttila_at_kolumbus.fi)
Date: 08/30/03

  • Next message: Gabriel Paubert: "Re: [2.4] gcc3 warns about type-punned pointers ?"
    Date:	Sat, 30 Aug 2003 15:50:10 +0300
    To: linux-kernel@vger.kernel.org
    
    

    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/


  • Next message: Gabriel Paubert: "Re: [2.4] gcc3 warns about type-punned pointers ?"

    Relevant Pages