iommu/amd: Finish TLB flush in amd_iommu_unmap()
authorJoerg Roedel <jroedel@suse.de>
Fri, 13 Oct 2017 12:32:37 +0000 (14:32 +0200)
committerJoerg Roedel <jroedel@suse.de>
Fri, 13 Oct 2017 15:32:19 +0000 (17:32 +0200)
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@vger.kernel.org # >= 2.6.33
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/amd_iommu.c

index 822679ac90a17f1df6ebf3e3a1c5106a2ecd7e0b..8e8874d23717ab5120c87f180146562be3e03ef6 100644 (file)
@@ -3048,6 +3048,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;
 }