Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -429,9 +429,6 @@ static int watchdog_enable(int cpu)
		wake_up_process(p);
	}

	/* if any cpu succeeds, watchdog is considered enabled for the system */
	watchdog_enabled = 1;

	return 0;
}

@@ -459,12 +456,16 @@ static void watchdog_disable(int cpu)
static void watchdog_enable_all_cpus(void)
{
	int cpu;
	int result = 0;

	watchdog_enabled = 0;

	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");

}