diff options
| author | Alex Shi <alex.shi@linaro.org> | 2016-04-13 12:02:17 +0800 |
|---|---|---|
| committer | Alex Shi <alex.shi@linaro.org> | 2016-04-13 12:02:17 +0800 |
| commit | ad592b70ae97800d4f5bf535d45a680649e2789e (patch) | |
| tree | 340a684df3e8dc3d893297f43c025c82e94cbb6a /kernel/watchdog.c | |
| parent | f96884662e5ca42a3a39854454f5efd04342b48b (diff) | |
| parent | b40108b826ed9e1c558f73b9dbabb8d80ded268b (diff) | |
Merge tag 'v4.4.7' into linux-linaro-lsk-v4.4
This is the 4.4.7 stable release
Diffstat (limited to 'kernel/watchdog.c')
| -rw-r--r-- | kernel/watchdog.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/kernel/watchdog.c b/kernel/watchdog.c index 18f34cf75f74..198137b1cadc 100644 --- a/kernel/watchdog.c +++ b/kernel/watchdog.c @@ -907,6 +907,9 @@ static int proc_watchdog_common(int which, struct ctl_table *table, int write, * both lockup detectors are disabled if proc_watchdog_update() * returns an error. */ + if (old == new) + goto out; + err = proc_watchdog_update(); } out: @@ -951,7 +954,7 @@ int proc_soft_watchdog(struct ctl_table *table, int write, int proc_watchdog_thresh(struct ctl_table *table, int write, void __user *buffer, size_t *lenp, loff_t *ppos) { - int err, old; + int err, old, new; get_online_cpus(); mutex_lock(&watchdog_proc_mutex); @@ -971,6 +974,10 @@ int proc_watchdog_thresh(struct ctl_table *table, int write, /* * Update the sample period. Restore on failure. */ + new = ACCESS_ONCE(watchdog_thresh); + if (old == new) + goto out; + set_sample_period(); err = proc_watchdog_update(); if (err) { |
