mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
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: Pawel Dziekonski <dzieko@gmail.com> Signed-off-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
b825e6cc7b
commit
8e1568f350
1 changed files with 5 additions and 2 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue