Skip to content

Commit

Permalink
[WATCHDOG] w83627hf_wdt.c-initialized_bios_bug
Browse files Browse the repository at this point in the history
Attached is a small update to the w83627hf watchdog driver
to initialise appropriately if it was already initialised
in the BIOS. On tyan motherboards for e.g. you can init
the watchdog to 4 mins, then when the driver is loaded it
sets the watchdog to "seconds" mode, and then machine will
reboot within 4 seconds. So this patch resets the timeout
to the configured value if the watchdog is already running.

Signed-off-by: P@draig Brady <P@draigBrady.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
  • Loading branch information
P@Draig Brady authored and Wim Van Sebroeck committed Sep 3, 2005
1 parent 94f1e9f commit 93642ec
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions drivers/char/watchdog/w83627hf_wdt.c
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,12 @@ w83627hf_init(void)

w83627hf_select_wd_register();

outb_p(0xF6, WDT_EFER); /* Select CRF6 */
t=inb_p(WDT_EFDR); /* read CRF6 */
if (t != 0) {
printk (KERN_INFO PFX "Watchdog already running. Resetting timeout to %d sec\n", timeout);
outb_p(timeout, WDT_EFDR); /* Write back to CRF6 */
}
outb_p(0xF5, WDT_EFER); /* Select CRF5 */
t=inb_p(WDT_EFDR); /* read CRF5 */
t&=~0x0C; /* set second mode & disable keyboard turning off watchdog */
Expand Down

0 comments on commit 93642ec

Please sign in to comment.