Release associated invalidation queue when destroying IOMMU unit to avoid memory leak.
Signed-off-by: Jiang Liu <[email protected]> --- drivers/iommu/dmar.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c index 812b596..a9d9d0f 100644 --- a/drivers/iommu/dmar.c +++ b/drivers/iommu/dmar.c @@ -745,6 +745,12 @@ static void free_iommu(struct intel_iommu *iommu) destroy_irq(iommu->irq); } + if (iommu->qi) { + free_page((unsigned long)iommu->qi->desc); + kfree(iommu->qi->desc_status); + kfree(iommu->qi); + } + if (iommu->reg) unmap_iommu(iommu); -- 1.7.10.4 _______________________________________________ iommu mailing list [email protected] https://lists.linuxfoundation.org/mailman/listinfo/iommu
