[WATCHDOG] iTCO_wdt.c - fix ACPI Base register
authorWim Van Sebroeck <wim@iguana.be>
Fri, 11 May 2007 18:59:24 +0000 (18:59 +0000)
committerWim Van Sebroeck <wim@iguana.be>
Fri, 11 May 2007 18:59:24 +0000 (18:59 +0000)
The ACPI/PM base I/O address which is the base
for the TCO registers is defined as bits [15:7]
(highest bit is 31, lowest is 0)

The code however only reads bits [14:7]. So
        base_address &= 0x00007f80;
needs to be:
        base_address &= 0x0000ff80;

This patch fixes this.

Signed-off-by: Ate Wijma <ajwijma@hotmail.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
drivers/char/watchdog/iTCO_wdt.c

index 3c9684ccd2f936ff248c6efc69abdb6025d90b03..eac4f9b9f007f0cb543ff54b62a35cb7626e713f 100644 (file)
@@ -571,7 +571,7 @@ static int iTCO_wdt_init(struct pci_dev *pdev, const struct pci_device_id *ent,
         *      ACPIBASE is bits [15:7] from 0x40-0x43
         */
        pci_read_config_dword(pdev, 0x40, &base_address);
-       base_address &= 0x00007f80;
+       base_address &= 0x0000ff80;
        if (base_address == 0x00000000) {
                /* Something's wrong here, ACPIBASE has to be set */
                printk(KERN_ERR PFX "failed to get TCOBASE address\n");