From: David Engraf <[email protected]> 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 <[email protected]> Cc: Wim Van Sebroeck <[email protected]> Cc: Paul Mundt <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> --- drivers/watchdog/shwdt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -puN drivers/watchdog/shwdt.c~drivers-watchdog-shwdtc-fix-usage-of-mod_timer drivers/watchdog/shwdt.c --- a/drivers/watchdog/shwdt.c~drivers-watchdog-shwdtc-fix-usage-of-mod_timer +++ a/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; _ _______________________________________________ stable mailing list [email protected] http://linux.kernel.org/mailman/listinfo/stable
