aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWim Van Sebroeck2008-11-19 14:02:02 -0600
committerWim Van Sebroeck2008-11-21 02:34:32 -0600
commitc6904ddb976d99b77d91b78a0ce5bdfffb416c49 (patch)
treeb505969bd7823159c8f9ad3c2b6d49047eac34be
parent7cd5b08be3c489df11b559fef210b81133764ad4 (diff)
downloadkernel-common-c6904ddb976d99b77d91b78a0ce5bdfffb416c49.tar.gz
kernel-common-c6904ddb976d99b77d91b78a0ce5bdfffb416c49.tar.xz
kernel-common-c6904ddb976d99b77d91b78a0ce5bdfffb416c49.zip
[WATCHDOG] iTCO_wdt : correct status clearing
The iTCO_wdt code was not clearing the correct bits. It now clears the timeout status bit and then the SECOND_TO_STS bit and then the BOOT_STS bit. Note: we should first clear the SECOND_TO_STS bit before clearing the BOOT_STS bit. Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
-rw-r--r--drivers/watchdog/iTCO_wdt.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/watchdog/iTCO_wdt.c b/drivers/watchdog/iTCO_wdt.c
index 75483000a87..2b5409f5b4e 100644
--- a/drivers/watchdog/iTCO_wdt.c
+++ b/drivers/watchdog/iTCO_wdt.c
@@ -684,8 +684,9 @@ static int __devinit iTCO_wdt_init(struct pci_dev *pdev,
684 TCOBASE); 684 TCOBASE);
685 685
686 /* Clear out the (probably old) status */ 686 /* Clear out the (probably old) status */
687 outb(0, TCO1_STS); 687 outb(8, TCO1_STS); /* Clear the Time Out Status bit */
688 outb(3, TCO2_STS); 688 outb(2, TCO2_STS); /* Clear SECOND_TO_STS bit */
689 outb(4, TCO2_STS); /* Clear BOOT_STS bit */
689 690
690 /* Make sure the watchdog is not running */ 691 /* Make sure the watchdog is not running */
691 iTCO_wdt_stop(); 692 iTCO_wdt_stop();