watchdog: implement error handling in lockup_detector_suspend()
[firefly-linux-kernel-4.4.55.git] / kernel / watchdog.c
index 704f933176668ca2a8f2c89d2870694a71f75eb8..e8b19db9c14aaa3d457762c0ebb9767ac356df85 100644 (file)
@@ -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);