[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: Raphael Assenat <raph@8D.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
This commit is contained in:
parent
db5d2d8a5d
commit
a6f052e39c
1 changed files with 3 additions and 2 deletions
|
@ -38,7 +38,7 @@
|
|||
|
||||
static unsigned long oscr_freq;
|
||||
static unsigned long sa1100wdt_users;
|
||||
static int pre_margin;
|
||||
static unsigned int pre_margin;
|
||||
static int boot_status;
|
||||
|
||||
/*
|
||||
|
@ -84,6 +84,7 @@ static const struct watchdog_info ident = {
|
|||
.options = WDIOF_CARDRESET | WDIOF_SETTIMEOUT
|
||||
| WDIOF_KEEPALIVEPING,
|
||||
.identity = "SA1100/PXA255 Watchdog",
|
||||
.firmware_version = 1,
|
||||
};
|
||||
|
||||
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)
|
||||
break;
|
||||
|
||||
if (time <= 0 || time > 255) {
|
||||
if (time <= 0 || (oscr_freq * (long long)time >= 0xffffffff)) {
|
||||
ret = -EINVAL;
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue