Commit e04ab2bc authored by Mandeep Singh Baines's avatar Mandeep Singh Baines Committed by Ingo Molnar

watchdog: Only disable/enable watchdog if neccessary

Don't take any action on an unsuccessful write to /proc.
Signed-off-by: default avatarMandeep Singh Baines <msb@chromium.org>
Cc: Marcin Slusarz <marcin.slusarz@gmail.com>
Cc: Don Zickus <dzickus@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Link: http://lkml.kernel.org/r/1306127423-3347-2-git-send-email-msb@chromium.orgSigned-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 824c6b7f
...@@ -507,15 +507,19 @@ static void watchdog_disable_all_cpus(void) ...@@ -507,15 +507,19 @@ static void watchdog_disable_all_cpus(void)
int proc_dowatchdog_enabled(struct ctl_table *table, int write, int proc_dowatchdog_enabled(struct ctl_table *table, int write,
void __user *buffer, size_t *length, loff_t *ppos) void __user *buffer, size_t *length, loff_t *ppos)
{ {
proc_dointvec(table, write, buffer, length, ppos); int ret;
if (write) { ret = proc_dointvec(table, write, buffer, length, ppos);
if (watchdog_enabled) if (ret || !write)
watchdog_enable_all_cpus(); goto out;
else
watchdog_disable_all_cpus(); if (watchdog_enabled)
} watchdog_enable_all_cpus();
return 0; else
watchdog_disable_all_cpus();
out:
return ret;
} }
int proc_dowatchdog_thresh(struct ctl_table *table, int write, int proc_dowatchdog_thresh(struct ctl_table *table, int write,
......
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