From: Joerg Roedel Date: Tue, 2 Dec 2008 17:34:12 +0000 (+0100) Subject: AMD IOMMU: add domain destroy function for IOMMU API X-Git-Tag: v2.6.29-rc1~522^2~1^2~29 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=98383fc301c6546af0f3a8a1d3cb8bf218f7e940;p=linux-2.6-omap-h63xx.git AMD IOMMU: add domain destroy function for IOMMU API Impact: add a generic function for releasing protection domains Signed-off-by: Joerg Roedel --- diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c index 6c0bd49cee5..891d713d9c9 100644 --- a/arch/x86/kernel/amd_iommu.c +++ b/arch/x86/kernel/amd_iommu.c @@ -1636,4 +1636,25 @@ out_free: return -ENOMEM; } +static void amd_iommu_domain_destroy(struct iommu_domain *dom) +{ + struct protection_domain *domain = dom->priv; + + if (!domain) + return; + + if (domain->dev_cnt > 0) + cleanup_domain(domain); + + BUG_ON(domain->dev_cnt != 0); + + free_pagetable(domain); + + domain_id_free(domain->id); + + kfree(domain); + + dom->priv = NULL; +} + #endif