On Fri, Feb 02, 2007 at 03:05:43PM +0100, Pavel Machek wrote:

> Lets make a deal. You retransmit a patch (so I don't have to search

Signed-off-by: Stefan Seyfried <[EMAIL PROTECTED]>

diff -rup linux-2.6.20-rc6.orig/kernel/power/main.c 
linux-2.6.20-rc6/kernel/power/main.c
--- linux-2.6.20-rc6.orig/kernel/power/main.c   2007-02-01 01:07:38.000000000 
+0100
+++ linux-2.6.20-rc6/kernel/power/main.c        2007-02-01 22:24:41.000000000 
+0100
@@ -116,7 +116,10 @@ int suspend_enter(suspend_state_t state)
                printk(KERN_ERR "Some devices failed to power down\n");
                goto Done;
        }
-       error = pm_ops->enter(state);
+       if (pm_ops && pm_ops->enter)
+               error = pm_ops->enter(state);
+       else
+               error = -ENODEV;
        device_power_up();
  Done:
        local_irq_restore(flags);
Only in linux-2.6.20-rc6/kernel/power: main.c.orig
diff -rup linux-2.6.20-rc6.orig/kernel/power/user.c 
linux-2.6.20-rc6/kernel/power/user.c
--- linux-2.6.20-rc6.orig/kernel/power/user.c   2007-02-01 01:07:38.000000000 
+0100
+++ linux-2.6.20-rc6/kernel/power/user.c        2007-02-01 22:25:48.000000000 
+0100
@@ -292,7 +292,7 @@ static int snapshot_ioctl(struct inode *
                        break;
                }
 
-               if (pm_ops->prepare) {
+               if (pm_ops && pm_ops->prepare) {
                        error = pm_ops->prepare(PM_SUSPEND_MEM);
                        if (error)
                                goto OutS3;
@@ -311,7 +311,7 @@ static int snapshot_ioctl(struct inode *
                        device_resume();
                }
                resume_console();
-               if (pm_ops->finish)
+               if (pm_ops && pm_ops->finish)
                        pm_ops->finish(PM_SUSPEND_MEM);
 
  OutS3:
@@ -322,20 +322,25 @@ static int snapshot_ioctl(struct inode *
                switch (arg) {
 
                case PMOPS_PREPARE:
-                       if (pm_ops->prepare) {
+                       if (pm_ops && pm_ops->prepare)
                                error = pm_ops->prepare(PM_SUSPEND_DISK);
-                       }
+                       else
+                               error = -ENODEV;
                        break;
 
                case PMOPS_ENTER:
                        kernel_shutdown_prepare(SYSTEM_SUSPEND_DISK);
-                       error = pm_ops->enter(PM_SUSPEND_DISK);
+                       if (pm_ops && pm_ops->enter)
+                               error = pm_ops->enter(PM_SUSPEND_DISK);
+                       else
+                               error = -ENODEV;
                        break;
 
                case PMOPS_FINISH:
-                       if (pm_ops && pm_ops->finish) {
+                       if (pm_ops && pm_ops->finish)
                                pm_ops->finish(PM_SUSPEND_DISK);
-                       }
+                       else
+                               error = -ENODEV;
                        break;
 
                default:

> for a copy) and get it to the -suse, and I'll get it to the -mm. Ok?

Unfortunately i can not get it to -suse, since i don't have any access, so
it will probably still be up to you to do that. But i will attach the
patch against the suse kernel tree to the bug report. We can, however,
also just fix it upstream and 10.3 will just get it. It _is_ easy to 
work around on 10.2 (shutdown method = shutdown).

BTW: i am not too sure about that ENODEV, i just took the first error code
     that came to my mind. But if nobody objects.... :-)
-- 
Stefan Seyfried
QA / R&D Team Mobile Devices        |              "Any ideas, John?"
SUSE LINUX Products GmbH, Nürnberg  | "Well, surrounding them's out." 

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Suspend-devel mailing list
Suspend-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/suspend-devel

Reply via email to