On Wednesday, 28 March 2007 17:52, Stefan Seyfried wrote:
> On Wed, Mar 28, 2007 at 03:22:51PM +0200, Cédric Boutillier wrote:
> > Hi !
> > 
> > Here are some news.  Thanks to Tim's patch, I got to the next step :
> > 
> > I got a screen, saying that tasks are being stopped, and memory is
> > being written to disk. Everything seems to go fine, but then, the
> > system does not suspend ! Instead, the screen becomes white/red, and
> > gets darker and darker. The system is still responsive : if network is
> > up, I can still ssh to the system.
> 
> It did not suspend/power off, but wake up immediately, but somehow
> the graphics card got fscked up in that process.
> 
> looking at the kernel code in user.c:
> ------------------------------------------------------
>         case SNAPSHOT_PMOPS:
>                 error = -EINVAL;
> 
>                 switch (arg) {
> 
>                 case PMOPS_PREPARE:
>                         if (pm_ops && pm_ops->enter) {
>                                 data->platform_suspend = 1;
>                                 error = 0;
>                         } else {
>                                 error = -ENOSYS;
>                         }
>                         break;
> 
>                 case PMOPS_ENTER:
>                         if (data->platform_suspend) {
>                                 disable_nonboot_cpus();
>                                 kernel_shutdown_prepare(SYSTEM_SUSPEND_DISK);
>                                 error = pm_ops->enter(PM_SUSPEND_DISK);
>                                 enable_nonboot_cpus();
>                         }
>                         break;
> 
>                 case PMOPS_FINISH:
>                         if (data->platform_suspend)
>                                 error = 0;
> 
>                         break;
> 
>                 default:
>                         printk(KERN_ERR "SNAPSHOT_PMOPS: invalid argument 
> %ld\n", arg);
> 
>                 }
>                 break;
> ------------------------------------------------------
> 
> I _think_ that (pm_ops && pm_ops->enter) is just not true on ppc, and
> so data->platform_suspend is also not true.
> So the PMOPS_ENTER case just returns.

I think it doesn't immediately return, but goes through the BIOS (or what it is
called on PPC) without actually suspending and _then_ returns.

It should be easy to verify by checking if the swap header is restored.

Greetings,
Rafael

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Suspend-devel mailing list
Suspend-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/suspend-devel

Reply via email to