Commit 39735766 authored by Marcin Slusarz's avatar Marcin Slusarz Committed by Ingo Molnar

watchdog: Fix sysctl consistency

If it was not possible to enable watchdog for any cpu, switch
watchdog_enabled back to 0, because it's visible via
kernel.watchdog sysctl.
Signed-off-by: default avatarMarcin Slusarz <marcin.slusarz@gmail.com>
Signed-off-by: default avatarDon Zickus <dzickus@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: <stable@kernel.org>
LKML-Reference: <1296230433-6261-2-git-send-email-dzickus@redhat.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 4135038a
...@@ -429,9 +429,6 @@ static int watchdog_enable(int cpu) ...@@ -429,9 +429,6 @@ static int watchdog_enable(int cpu)
wake_up_process(p); wake_up_process(p);
} }
/* if any cpu succeeds, watchdog is considered enabled for the system */
watchdog_enabled = 1;
return 0; return 0;
} }
...@@ -459,12 +456,16 @@ static void watchdog_disable(int cpu) ...@@ -459,12 +456,16 @@ static void watchdog_disable(int cpu)
static void watchdog_enable_all_cpus(void) static void watchdog_enable_all_cpus(void)
{ {
int cpu; int cpu;
int result = 0;
watchdog_enabled = 0;
for_each_online_cpu(cpu) for_each_online_cpu(cpu)
result += watchdog_enable(cpu); if (!watchdog_enable(cpu))
/* if any cpu succeeds, watchdog is considered
enabled for the system */
watchdog_enabled = 1;
if (result) if (!watchdog_enabled)
printk(KERN_ERR "watchdog: failed to be enabled on some cpus\n"); printk(KERN_ERR "watchdog: failed to be enabled on some cpus\n");
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment