[ACPI] properly detect pmtimer on ASUS a8v motherboard
authorDavid Shaohua Li <shaohua.li@intel.com>
Wed, 21 Sep 2005 05:35:00 +0000 (01:35 -0400)
committerLen Brown <len.brown@intel.com>
Thu, 1 Dec 2005 03:27:16 +0000 (22:27 -0500)
Handle FADT 2.0 xpmtmr address 0 case.

http://bugzilla.kernel.org/show_bug.cgi?id=5283

Signed-off-by: Shaohua Li<shaohua.li@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
arch/i386/kernel/acpi/boot.c

index 76b1135d401a6eb3b4851fe344fe6f052f70300f..447fa9e33ffbeaaca7bbee58621900cbf0ba2b1e 100644 (file)
@@ -638,6 +638,13 @@ static int __init acpi_parse_fadt(unsigned long phys, unsigned long size)
                        return 0;
 
                pmtmr_ioport = fadt->xpm_tmr_blk.address;
+               /*
+                * "X" fields are optional extensions to the original V1.0
+                * fields, so we must selectively expand V1.0 fields if the
+                * corresponding X field is zero.
+                */
+               if (!pmtmr_ioport)
+                       pmtmr_ioport = fadt->V1_pm_tmr_blk;
        } else {
                /* FADT rev. 1 */
                pmtmr_ioport = fadt->V1_pm_tmr_blk;