]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - kernel/power/suspend.c
Merge remote-tracking branch 'moduleh/module.h-split'
[karo-tx-linux.git] / kernel / power / suspend.c
index 76ce0510253de41b4611f526417feefa5e0f122f..1d585831148f5524d1dcf31f36c3c45f96ecafcc 100644 (file)
@@ -106,7 +106,10 @@ static int suspend_prepare(void)
                goto Finish;
 
        error = suspend_freeze_processes();
-       if (!error)
+       if (error) {
+               suspend_stats.failed_freeze++;
+               dpm_save_failed_step(SUSPEND_FREEZE);
+       } else
                return 0;
 
        suspend_thaw_processes();
@@ -317,8 +320,16 @@ int enter_state(suspend_state_t state)
  */
 int pm_suspend(suspend_state_t state)
 {
-       if (state > PM_SUSPEND_ON && state <= PM_SUSPEND_MAX)
-               return enter_state(state);
+       int ret;
+       if (state > PM_SUSPEND_ON && state <= PM_SUSPEND_MAX) {
+               ret = enter_state(state);
+               if (ret) {
+                       suspend_stats.fail++;
+                       dpm_save_failed_errno(ret);
+               } else
+                       suspend_stats.success++;
+               return ret;
+       }
        return -EINVAL;
 }
 EXPORT_SYMBOL(pm_suspend);