[PATCH 1/4] iommu/amd: Finish TLB flush in amd_iommu_unmap()

From: Joerg Roedel
Date: Fri Oct 13 2017 - 10:40:29 EST


From: Joerg Roedel <jroedel@xxxxxxx>

The function only sends the flush command to the IOMMU(s),
but does not wait for its completion when it returns. Fix
that.

Fixes: 601367d76bd1 ('x86/amd-iommu: Remove iommu_flush_domain function')
Cc: stable@xxxxxxxxxxxxxxx # >= 2.6.33
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
---
drivers/iommu/amd_iommu.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index cb7c531..3a702c4 100644
--- a/drivers/iommu/amd_iommu.c
+++ b/drivers/iommu/amd_iommu.c
@@ -3046,6 +3046,7 @@ static size_t amd_iommu_unmap(struct iommu_domain *dom, unsigned long iova,
mutex_unlock(&domain->api_lock);

domain_flush_tlb_pde(domain);
+ domain_flush_complete(domain);

return unmap_size;
}
--
2.7.4