watchdog: Avoid kernel crash when disabling watchdog

In case you boot with the watchdog disabled, i.e., nowatchdog, then,
if you try to disable it via /proc/sys/kernel/watchdog, you get
a kernel crash. The reason is that you are trying to cancel a hrtimer
which has never been initialized.

This patch fixes this by skipping execution of
watchdog_disable_all_cpus() when the watchdog is marked
disabled from boot.

Signed-off-by: Stephane Eranian <[email protected]>
Signed-off-by: Peter Zijlstra <[email protected]>
LKML-Reference: <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
This commit is contained in:
Stephane Eranian authored and Ingo Molnar committed 2010-09-15 10:43:58 +02:00
1 parent 3aabae7d9d
commit d9ca07a05c
1 file changed
+3
+3
View File
@@ -473,6 +473,9 @@ static void watchdog_disable_all_cpus(void)
{
int cpu;
if (no_watchdog)
return;
for_each_online_cpu(cpu)
watchdog_disable(cpu);