| From bea1906620ce72b63f83735c4cc2642b25ec54ae Mon Sep 17 00:00:00 2001 |
| From: David Engraf <david.engraf@sysgo.com> |
| Date: Wed, 20 Jul 2011 15:03:39 +0200 |
| Subject: watchdog: shwdt: fix usage of mod_timer |
| |
| From: David Engraf <david.engraf@sysgo.com> |
| |
| commit bea1906620ce72b63f83735c4cc2642b25ec54ae upstream. |
| |
| Fix the usage of mod_timer() and make the driver usable. mod_timer() must |
| be called with an absolute timeout in jiffies. The old implementation |
| used a relative timeout thus the hardware watchdog was never triggered. |
| |
| Signed-off-by: David Engraf <david.engraf@sysgo.com> |
| Signed-off-by: Paul Mundt <lethal@linux-sh.org> |
| Signed-off-by: Wim Van sebroeck <wim@iguana.be> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/watchdog/shwdt.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/watchdog/shwdt.c |
| +++ b/drivers/watchdog/shwdt.c |
| @@ -64,7 +64,7 @@ |
| * misses its deadline, the kernel timer will allow the WDT to overflow. |
| */ |
| static int clock_division_ratio = WTCSR_CKS_4096; |
| -#define next_ping_period(cks) msecs_to_jiffies(cks - 4) |
| +#define next_ping_period(cks) (jiffies + msecs_to_jiffies(cks - 4)) |
| |
| static const struct watchdog_info sh_wdt_info; |
| static struct platform_device *sh_wdt_dev; |