watchdog: Fix reboot on W83627ehf chipset.
authorHerman Morsink Vollenbroek <h.morsinkvollenbroek@home.nl>
Mon, 6 Dec 2010 20:24:56 +0000 (21:24 +0100)
committerWim Van Sebroeck <wim@iguana.be>
Wed, 12 Jan 2011 10:23:52 +0000 (10:23 +0000)
The watchdog driver for the SUPERIO chip winbond w83627ehf does not work.
If you open /dev/watchdog and write a character to /dev/watchdog then
the watchdog will be triggered. However the watchdog will not trigger
the hardware RESET after the timeout, because the watchdog has never been
enabled.

Signed-off-by: Herman Morsink Vollenbroek <h.morsinkvollenbroek@home.nl>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
drivers/watchdog/w83627hf_wdt.c

index 48f2e01..e5c91d4 100644 (file)
@@ -129,6 +129,8 @@ static void w83627hf_init(void)
        t = inb_p(WDT_EFDR);      /* read CRF5 */
        t &= ~0x0C;               /* set second mode & disable keyboard
                                    turning off watchdog */
+       t |= 0x02;                /* enable the WDTO# output low pulse
+                                   to the KBRST# pin (PIN60) */
        outb_p(t, WDT_EFDR);    /* Write back to CRF5 */
 
        outb_p(0xF7, WDT_EFER); /* Select CRF7 */