summary refs log tree commit diff
path: root/drivers/watchdog/w83627hf_wdt.c
diff options
context:
space:
mode:
authorHerman Morsink Vollenbroek <h.morsinkvollenbroek@home.nl>2010-12-06 21:24:56 +0100
committerWim Van Sebroeck <wim@iguana.be>2011-01-12 10:23:52 +0000
commit6d106e0cac842bc17c87aadd5fa01730694c987a (patch)
tree28385bafc5b83251c359eadc709797b617b2d639 /drivers/watchdog/w83627hf_wdt.c
parent9c67bea419c384561eeb84bdf251d521a3234e45 (diff)
downloadlinux-6d106e0cac842bc17c87aadd5fa01730694c987a.tar.gz
watchdog: Fix reboot on W83627ehf chipset.
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>

Diffstat (limited to 'drivers/watchdog/w83627hf_wdt.c')
-rw-r--r--drivers/watchdog/w83627hf_wdt.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/watchdog/w83627hf_wdt.c b/drivers/watchdog/w83627hf_wdt.c
index 48f2e0148bb4..e5c91d4404ed 100644
--- a/drivers/watchdog/w83627hf_wdt.c
+++ b/drivers/watchdog/w83627hf_wdt.c
@@ -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 */