Commit a6f052e3 authored by Raphael Assenat's avatar Raphael Assenat Committed by Wim Van Sebroeck

[WATCHDOG] SA1100 watchdog maximum timeout

This patch replaces the hardcoded 255 seconds limit for a real limit based on 
oscr_freq. 

Also, the 'firmware_version' field is changed to '1' to allow the user 
space application to easily detect that this driver supports a higher 
maximum timeout.
Signed-off-by: default avatarRaphael Assenat <raph@8D.com>
Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
parent db5d2d8a
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
static unsigned long oscr_freq; static unsigned long oscr_freq;
static unsigned long sa1100wdt_users; static unsigned long sa1100wdt_users;
static int pre_margin; static unsigned int pre_margin;
static int boot_status; static int boot_status;
/* /*
...@@ -84,6 +84,7 @@ static const struct watchdog_info ident = { ...@@ -84,6 +84,7 @@ static const struct watchdog_info ident = {
.options = WDIOF_CARDRESET | WDIOF_SETTIMEOUT .options = WDIOF_CARDRESET | WDIOF_SETTIMEOUT
| WDIOF_KEEPALIVEPING, | WDIOF_KEEPALIVEPING,
.identity = "SA1100/PXA255 Watchdog", .identity = "SA1100/PXA255 Watchdog",
.firmware_version = 1,
}; };
static long sa1100dog_ioctl(struct file *file, unsigned int cmd, static long sa1100dog_ioctl(struct file *file, unsigned int cmd,
...@@ -118,7 +119,7 @@ static long sa1100dog_ioctl(struct file *file, unsigned int cmd, ...@@ -118,7 +119,7 @@ static long sa1100dog_ioctl(struct file *file, unsigned int cmd,
if (ret) if (ret)
break; break;
if (time <= 0 || time > 255) { if (time <= 0 || (oscr_freq * (long long)time >= 0xffffffff)) {
ret = -EINVAL; ret = -EINVAL;
break; break;
} }
......
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