From: Joerg Roedel Date: Fri, 13 Oct 2017 12:32:37 +0000 (+0200) Subject: iommu/amd: Finish TLB flush in amd_iommu_unmap() X-Git-Tag: v3.10.108~88 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=544d7ba2c8304b1db4a12a39225443f9f689985d;p=thirdparty%2Fkernel%2Fstable.git iommu/amd: Finish TLB flush in amd_iommu_unmap() commit ce76353f169a6471542d999baf3d29b121dce9c0 upstream. 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 Signed-off-by: Willy Tarreau --- diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c index 0e7cd14bf7bba..88ba9649bd1fe 100644 --- a/drivers/iommu/amd_iommu.c +++ b/drivers/iommu/amd_iommu.c @@ -3402,6 +3402,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; }