PM / sleep: add TEST_PLATFORM support for freeze state
authorZhang Rui <rui.zhang@intel.com>
Wed, 27 Mar 2013 03:36:10 +0000 (03:36 +0000)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 5 Apr 2013 12:18:25 +0000 (14:18 +0200)
Invoke freeze_enter() after suspend_test(TEST_PLATFORM) being invoked.

So when setting /sys/power/pm_test to "platform", it can be used to
check if freeze state is working well after all devices are suspended
and before processors are blocked,

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
kernel/power/suspend.c

index d4feda0..5eb30aa 100644 (file)
@@ -184,6 +184,9 @@ static int suspend_enter(suspend_state_t state, bool *wakeup)
                        goto Platform_wake;
        }
 
+       if (suspend_test(TEST_PLATFORM))
+               goto Platform_wake;
+
        /*
         * PM_SUSPEND_FREEZE equals
         * frozen processes + suspended devices + idle processors.
@@ -195,9 +198,6 @@ static int suspend_enter(suspend_state_t state, bool *wakeup)
                goto Platform_wake;
        }
 
-       if (suspend_test(TEST_PLATFORM))
-               goto Platform_wake;
-
        error = disable_nonboot_cpus();
        if (error || suspend_test(TEST_CPUS))
                goto Enable_cpus;