aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/patches-3.18/611-MIPS-ath79-wdt-timeout.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ar71xx/patches-3.18/611-MIPS-ath79-wdt-timeout.patch')
-rw-r--r--target/linux/ar71xx/patches-3.18/611-MIPS-ath79-wdt-timeout.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/target/linux/ar71xx/patches-3.18/611-MIPS-ath79-wdt-timeout.patch b/target/linux/ar71xx/patches-3.18/611-MIPS-ath79-wdt-timeout.patch
new file mode 100644
index 0000000000..7a70ac3f87
--- /dev/null
+++ b/target/linux/ar71xx/patches-3.18/611-MIPS-ath79-wdt-timeout.patch
@@ -0,0 +1,25 @@
+MIPS: ath79: fix maximum timeout
+
+If the userland tries to set a timeout higher than the max_timeout, then we should fallback to max_timeout.
+
+Signed-off-by: John Crispin <blogic@openwrt.org>
+
+--- a/drivers/watchdog/ath79_wdt.c
++++ b/drivers/watchdog/ath79_wdt.c
+@@ -114,10 +114,14 @@ static inline void ath79_wdt_disable(voi
+
+ static int ath79_wdt_set_timeout(int val)
+ {
+- if (val < 1 || val > max_timeout)
++ if (val < 1)
+ return -EINVAL;
+
+- timeout = val;
++ if (val > max_timeout)
++ timeout = max_timeout;
++ else
++ timeout = val;
++
+ ath79_wdt_keepalive();
+
+ return 0;