]> rtime.felk.cvut.cz Git - can-eth-gw-linux.git/commitdiff
ACPI, APEI, EINJ: Add missed ACPI5 support for error trigger table
authorChen Gong <gong.chen@linux.intel.com>
Fri, 7 Dec 2012 19:50:02 +0000 (11:50 -0800)
committerTony Luck <tony.luck@intel.com>
Fri, 7 Dec 2012 19:50:02 +0000 (11:50 -0800)
To handle error trigger table correctly, memory region must be
removed from request region. We had a series of patches to do this
culminating in:
commit b4e008dc5
ACPI, APEI, EINJ, Refine the fix of resource conflict

but when ACPI5 support was added, we missed updating this area. So
when using EINJ table on an ACPI5 enabled machine, we get following error:

APEI: Can not request [mem 0x526b80000-0x526b80007] for APEI EINJ
Trigger registers

Fix this by checking for the acpi5 case and using the same code
that was added earlier.

Signed-off-by: Chen Gong <gong.chen@linux.intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
drivers/acpi/apei/einj.c

index 8e1793649ec0e992692a465011ff18c8e25e2b77..8d457b55c55aafe0c27fa51ab0da644e93fd0486 100644 (file)
@@ -367,7 +367,7 @@ static int __einj_error_trigger(u64 trigger_paddr, u32 type,
         * This will cause resource conflict with regular memory.  So
         * remove it from trigger table resources.
         */
-       if (param_extension && (type & 0x0038) && param2) {
+       if ((param_extension || acpi5) && (type & 0x0038) && param2) {
                struct apei_resources addr_resources;
                apei_resources_init(&addr_resources);
                trigger_param_region = einj_get_trigger_parameter_region(