diff options
author | Wim Van Sebroeck <wim@iguana.be> | 2008-11-19 15:02:02 -0500 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2008-11-21 03:34:32 -0500 |
commit | c6904ddb976d99b77d91b78a0ce5bdfffb416c49 (patch) | |
tree | b505969bd7823159c8f9ad3c2b6d49047eac34be | |
parent | 7cd5b08be3c489df11b559fef210b81133764ad4 (diff) |
[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.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/watchdog/iTCO_wdt.c b/drivers/watchdog/iTCO_wdt.c index 75483000a87d..2b5409f5b4e6 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(); |