From: Ulrich Obergfell <uobergfe@redhat.com>
Date: Fri, 6 Nov 2015 02:44:36 +0000 (-0800)
Subject: watchdog: implement error handling in lockup_detector_suspend()
X-Git-Tag: firefly_0821_release~176^2~776^2~143
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=c993590c6ae6273681d9fb2a8d26dce03bf9d96c;p=firefly-linux-kernel-4.4.55.git

watchdog: implement error handling in lockup_detector_suspend()

lockup_detector_suspend() now handles errors from watchdog_park_threads().

Signed-off-by: Ulrich Obergfell <uobergfe@redhat.com>
Reviewed-by: Aaron Tomlin <atomlin@redhat.com>
Acked-by: Don Zickus <dzickus@redhat.com>
Cc: Ulrich Obergfell <uobergfe@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---

diff --git a/kernel/watchdog.c b/kernel/watchdog.c
index 704f93317666..e8b19db9c14a 100644
--- a/kernel/watchdog.c
+++ b/kernel/watchdog.c
@@ -707,6 +707,11 @@ int lockup_detector_suspend(void)
 
 	if (ret == 0)
 		watchdog_suspended++;
+	else {
+		watchdog_disable_all_cpus();
+		pr_err("Failed to suspend lockup detectors, disabled\n");
+		watchdog_enabled = 0;
+	}
 
 	mutex_unlock(&watchdog_proc_mutex);