We will need separate two calling later for iommu_remove.

Signed-off-by: Yinghai Lu <ying...@kernel.org>
Cc: David Woodhouse <dw...@infradead.org>
Cc: Joerg Roedel <j...@8bytes.org>
Cc: Donald Dutile <ddut...@redhat.com>
---
 drivers/iommu/dmar.c        | 2 --
 drivers/iommu/intel-iommu.c | 1 +
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c
index f5e0718..20e5727 100644
--- a/drivers/iommu/dmar.c
+++ b/drivers/iommu/dmar.c
@@ -876,8 +876,6 @@ void free_iommu(struct intel_iommu *iommu)
        if (!iommu)
                return;
 
-       free_dmar_iommu(iommu);
-
        if (iommu->reg)
                unmap_iommu(iommu);
 
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index 9751ee7..c60d4ed 100644
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel-iommu.c
@@ -2668,6 +2668,7 @@ error:
                if (drhd->ignored)
                        continue;
                iommu = drhd->iommu;
+               free_dmar_iommu(iommu);
                free_iommu(iommu);
        }
        kfree(g_iommus);
-- 
1.8.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to