shwdt: fix usage of mod_timer
authorDavid Engraf <david.engraf@sysgo.com>
Wed, 20 Jul 2011 13:03:39 +0000 (13:03 +0000)
committerPaul Mundt <lethal@linux-sh.org>
Thu, 21 Jul 2011 07:17:07 +0000 (16:17 +0900)
This patch fixes the usage of mod_timer and makes 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>
drivers/watchdog/shwdt.c

index db84f23..a267dc0 100644 (file)
@@ -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;