Commit 8e1568f3 authored by Yinghai Lu's avatar Yinghai Lu Committed by Ingo Molnar

pci, x86, acpi: fix early_ioremap() leak

Pawel reported:
------------[ cut here ]------------
WARNING: at arch/x86/mm/ioremap.c:616 check_early_ioremap_leak+0x52/0x67()
Hardware name:
Debug warning: early ioremap leak of 1 areas detected.
Modules linked in:
Pid: 1, comm: swapper Not tainted 2.6.29-rc4-tip #2
...
Reported-by: default avatarPawel Dziekonski <dzieko@gmail.com>
Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent b825e6cc
...@@ -42,6 +42,7 @@ ...@@ -42,6 +42,7 @@
LIST_HEAD(dmar_drhd_units); LIST_HEAD(dmar_drhd_units);
static struct acpi_table_header * __initdata dmar_tbl; 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) static void __init dmar_register_drhd_unit(struct dmar_drhd_unit *drhd)
{ {
...@@ -288,8 +289,9 @@ static int __init dmar_table_detect(void) ...@@ -288,8 +289,9 @@ static int __init dmar_table_detect(void)
acpi_status status = AE_OK; acpi_status status = AE_OK;
/* if we could find DMAR table, then there are DMAR devices */ /* if we could find DMAR table, then there are DMAR devices */
status = acpi_get_table(ACPI_SIG_DMAR, 0, status = acpi_get_table_with_size(ACPI_SIG_DMAR, 0,
(struct acpi_table_header **)&dmar_tbl); (struct acpi_table_header **)&dmar_tbl,
&dmar_tbl_size);
if (ACPI_SUCCESS(status) && !dmar_tbl) { if (ACPI_SUCCESS(status) && !dmar_tbl) {
printk (KERN_WARNING PREFIX "Unable to map DMAR\n"); printk (KERN_WARNING PREFIX "Unable to map DMAR\n");
...@@ -481,6 +483,7 @@ void __init detect_intel_iommu(void) ...@@ -481,6 +483,7 @@ void __init detect_intel_iommu(void)
iommu_detected = 1; iommu_detected = 1;
#endif #endif
} }
early_acpi_os_unmap_memory(dmar_tbl, dmar_tbl_size);
dmar_tbl = NULL; dmar_tbl = NULL;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment