aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2016-12-05 11:42:09 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2016-12-05 11:42:09 +0000
commit3dd3c4503be013a67f24d3513172c95acc2eebe4 (patch)
tree989fd7d1fe850533fe064882ee8a1d19f99229fd
parent85d99487b88585d521ed63d7030525ca8c781666 (diff)
Release DMAR table after using it.
Reported and tested by: hps Sponsored by: The FreeBSD Foundation MFC after: 1 week
Notes
Notes: svn path=/head/; revision=309551
-rw-r--r--sys/x86/iommu/intel_drv.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/x86/iommu/intel_drv.c b/sys/x86/iommu/intel_drv.c
index 5f7043bcec86..05ffdba2ddf5 100644
--- a/sys/x86/iommu/intel_drv.c
+++ b/sys/x86/iommu/intel_drv.c
@@ -109,6 +109,7 @@ dmar_iterate_tbl(dmar_iter_t iter, void *arg)
if (!iter(dmarh, arg))
break;
}
+ AcpiPutTable((ACPI_TABLE_HEADER *)dmartbl);
}
struct find_iter_args {
@@ -184,6 +185,7 @@ dmar_identify(driver_t *driver, device_t parent)
(unsigned)dmartbl->Flags,
"\020\001INTR_REMAP\002X2APIC_OPT_OUT");
}
+ AcpiPutTable((ACPI_TABLE_HEADER *)dmartbl);
dmar_iterate_tbl(dmar_count_iter, NULL);
if (dmar_devcnt == 0)