From 2324d949a7ae6af7bb8fc65030b5fa4de8c6ace2 Mon Sep 17 00:00:00 2001 From: Yinghai Lu Date: Wed, 11 Feb 2009 01:06:59 -0800 Subject: [PATCH] --- yaml --- r: 136341 b: refs/heads/master c: 8e1568f3500287d0b36c9776132cb53a42d5651d h: refs/heads/master i: 136339: 7b36180552a6e2f76307bf8746a050a426f4d28e v: v3 --- [refs] | 2 +- trunk/drivers/pci/dmar.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 51f400391aae..ecd0f7b0cc90 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b825e6cc7b1401862531df497a4a4daff8102ed5 +refs/heads/master: 8e1568f3500287d0b36c9776132cb53a42d5651d diff --git a/trunk/drivers/pci/dmar.c b/trunk/drivers/pci/dmar.c index f5a662a50acb..519f5f91e765 100644 --- a/trunk/drivers/pci/dmar.c +++ b/trunk/drivers/pci/dmar.c @@ -42,6 +42,7 @@ LIST_HEAD(dmar_drhd_units); static struct acpi_table_header * __initdata dmar_tbl; +static acpi_size dmar_tbl_size; static void __init dmar_register_drhd_unit(struct dmar_drhd_unit *drhd) { @@ -288,8 +289,9 @@ static int __init dmar_table_detect(void) acpi_status status = AE_OK; /* if we could find DMAR table, then there are DMAR devices */ - status = acpi_get_table(ACPI_SIG_DMAR, 0, - (struct acpi_table_header **)&dmar_tbl); + status = acpi_get_table_with_size(ACPI_SIG_DMAR, 0, + (struct acpi_table_header **)&dmar_tbl, + &dmar_tbl_size); if (ACPI_SUCCESS(status) && !dmar_tbl) { printk (KERN_WARNING PREFIX "Unable to map DMAR\n"); @@ -481,6 +483,7 @@ void __init detect_intel_iommu(void) iommu_detected = 1; #endif } + early_acpi_os_unmap_memory(dmar_tbl, dmar_tbl_size); dmar_tbl = NULL; }