Commit c793ef32 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] ib700wdt watchdog driver fix #2

From: Patrice Bouchand <PBouchand@cyberdeck.com>

The value written in the WDT_STOP register is not important.  As soon as
something is written, the watchdog timer stops.  But things will be cleaner
if we use the following patch.
parent 4020f4a0
...@@ -234,7 +234,7 @@ ibwdt_close(struct inode *inode, struct file *file) ...@@ -234,7 +234,7 @@ ibwdt_close(struct inode *inode, struct file *file)
{ {
spin_lock(&ibwdt_lock); spin_lock(&ibwdt_lock);
if (expect_close == 42) if (expect_close == 42)
outb_p(wd_times[wd_margin], WDT_STOP); outb_p(0, WDT_STOP);
else else
printk(KERN_CRIT PFX "WDT device closed unexpectedly. WDT will not stop!\n"); printk(KERN_CRIT PFX "WDT device closed unexpectedly. WDT will not stop!\n");
...@@ -254,7 +254,7 @@ ibwdt_notify_sys(struct notifier_block *this, unsigned long code, ...@@ -254,7 +254,7 @@ ibwdt_notify_sys(struct notifier_block *this, unsigned long code,
{ {
if (code == SYS_DOWN || code == SYS_HALT) { if (code == SYS_DOWN || code == SYS_HALT) {
/* Turn the WDT off */ /* Turn the WDT off */
outb_p(wd_times[wd_margin], WDT_STOP); outb_p(0, WDT_STOP);
} }
return NOTIFY_DONE; return NOTIFY_DONE;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment