From a627097c35c649d6b8d7334a37948b353c18a380 Mon Sep 17 00:00:00 2001 From: David Engraf Date: Wed, 20 Jul 2011 15:03:39 +0200 Subject: watchdog: shwdt: fix usage of mod_timer 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 Signed-off-by: Paul Mundt Signed-off-by: Wim Van sebroeck Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman Change-Id: I28560fcf7ac83005990b6c0f53b668e815f59f7e Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/35675 Tested-by: Per VAHLNE Reviewed-by: Jonas ABERG --- drivers/watchdog/shwdt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/watchdog/shwdt.c b/drivers/watchdog/shwdt.c index db84f2322d1..a267dc078da 100644 --- 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; -- cgit v1.2.3