OSDN Git Service

power: Avoids bogus error messages for the suspend aborts.
authorRuchi Kandoi <kandoiruchi@google.com>
Wed, 15 Oct 2014 00:43:21 +0000 (17:43 -0700)
committerChih-Wei Huang <cwhuang@linux.org.tw>
Sat, 13 Dec 2014 15:14:23 +0000 (23:14 +0800)
Avoids printing bogus error message "tasks refusing to freeze", in cases
where pending wakeup source caused the suspend abort.

Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
Change-Id: I913ad290f501b31cd536d039834c8d24c6f16928

kernel/power/process.c

index 5a6ec86..60105ac 100644 (file)
@@ -83,23 +83,24 @@ static int try_to_freeze_tasks(bool user_only)
        do_div(elapsed_msecs64, NSEC_PER_MSEC);
        elapsed_msecs = elapsed_msecs64;
 
-       if (todo) {
+       if (wakeup) {
                printk("\n");
-               printk(KERN_ERR "Freezing of tasks %s after %d.%03d seconds "
-                      "(%d tasks refusing to freeze, wq_busy=%d):\n",
-                      wakeup ? "aborted" : "failed",
+               printk(KERN_ERR "Freezing of tasks aborted after %d.%03d seconds",
+                      elapsed_msecs / 1000, elapsed_msecs % 1000);
+       } else if (todo) {
+               printk("\n");
+               printk(KERN_ERR "Freezing of tasks failed after %d.%03d seconds"
+                      " (%d tasks refusing to freeze, wq_busy=%d):\n",
                       elapsed_msecs / 1000, elapsed_msecs % 1000,
                       todo - wq_busy, wq_busy);
 
-               if (!wakeup) {
-                       read_lock(&tasklist_lock);
-                       for_each_process_thread(g, p) {
-                               if (p != current && !freezer_should_skip(p)
-                                   && freezing(p) && !frozen(p))
-                                       sched_show_task(p);
-                       }
-                       read_unlock(&tasklist_lock);
+               read_lock(&tasklist_lock);
+               for_each_process_thread(g, p) {
+                       if (p != current && !freezer_should_skip(p)
+                           && freezing(p) && !frozen(p))
+                               sched_show_task(p);
                }
+               read_unlock(&tasklist_lock);
        } else {
                printk("(elapsed %d.%03d seconds) ", elapsed_msecs / 1000,
                        elapsed_msecs % 1000);