瀏覽代碼

[WATCHDOG] iTCO_wdt.c - fix ACPI Base register

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>
Wim Van Sebroeck 18 年之前
父節點
當前提交
0d4804b31f
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      drivers/char/watchdog/iTCO_wdt.c

+ 1 - 1
drivers/char/watchdog/iTCO_wdt.c

@@ -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
 	 *      ACPIBASE is bits [15:7] from 0x40-0x43
 	 */
 	 */
 	pci_read_config_dword(pdev, 0x40, &base_address);
 	pci_read_config_dword(pdev, 0x40, &base_address);
-	base_address &= 0x00007f80;
+	base_address &= 0x0000ff80;
 	if (base_address == 0x00000000) {
 	if (base_address == 0x00000000) {
 		/* Something's wrong here, ACPIBASE has to be set */
 		/* Something's wrong here, ACPIBASE has to be set */
 		printk(KERN_ERR PFX "failed to get TCOBASE address\n");
 		printk(KERN_ERR PFX "failed to get TCOBASE address\n");