Browse Source

[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>
Wim Van Sebroeck 16 years ago
parent
commit
c6904ddb97
1 changed files with 3 additions and 2 deletions
  1. 3 2
      drivers/watchdog/iTCO_wdt.c

+ 3 - 2
drivers/watchdog/iTCO_wdt.c

@@ -684,8 +684,9 @@ static int __devinit iTCO_wdt_init(struct pci_dev *pdev,
 			TCOBASE);
 
 	/* Clear out the (probably old) status */
-	outb(0, TCO1_STS);
-	outb(3, TCO2_STS);
+	outb(8, TCO1_STS);	/* Clear the Time Out Status bit */
+	outb(2, TCO2_STS);	/* Clear SECOND_TO_STS bit */
+	outb(4, TCO2_STS);	/* Clear BOOT_STS bit */
 
 	/* Make sure the watchdog is not running */
 	iTCO_wdt_stop();