From: Patrice Bouchand 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. --- 25-akpm/drivers/char/watchdog/ib700wdt.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN drivers/char/watchdog/ib700wdt.c~ib700wdt-fix-2 drivers/char/watchdog/ib700wdt.c --- 25/drivers/char/watchdog/ib700wdt.c~ib700wdt-fix-2 2004-05-11 02:10:55.148368032 -0700 +++ 25-akpm/drivers/char/watchdog/ib700wdt.c 2004-05-11 02:11:10.226075872 -0700 @@ -234,7 +234,7 @@ ibwdt_close(struct inode *inode, struct { spin_lock(&ibwdt_lock); if (expect_close == 42) - outb_p(wd_times[wd_margin], WDT_STOP); + outb_p(0, WDT_STOP); else printk(KERN_CRIT PFX "WDT device closed unexpectedly. WDT will not stop!\n"); @@ -254,7 +254,7 @@ ibwdt_notify_sys(struct notifier_block * { if (code == SYS_DOWN || code == SYS_HALT) { /* Turn the WDT off */ - outb_p(wd_times[wd_margin], WDT_STOP); + outb_p(0, WDT_STOP); } return NOTIFY_DONE; } _