summaryrefslogtreecommitdiffstats
path: root/drivers/iommu/amd_iommu.c
diff options
context:
space:
mode:
authorJoerg Roedel <jroedel@suse.de>2015-12-21 13:14:52 +0100
committerJoerg Roedel <jroedel@suse.de>2015-12-28 17:18:50 +0100
commit53b3b65aa5befe9e96e8f8708a76208190a07e14 (patch)
tree162e187c01248eb87c4a6cf518037a5cf2ffb199 /drivers/iommu/amd_iommu.c
parentiommu/amd: Introduce bitmap_lock in struct aperture_range (diff)
downloadlinux-53b3b65aa5befe9e96e8f8708a76208190a07e14.tar.xz
linux-53b3b65aa5befe9e96e8f8708a76208190a07e14.zip
iommu/amd: Flush IOMMU TLB on __map_single error path
There have been present PTEs which in theory could have made it to the IOMMU TLB. Flush the addresses out on the error path to make sure no stale entries remain. Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'drivers/iommu/amd_iommu.c')
-rw-r--r--drivers/iommu/amd_iommu.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index 8ff33314a668..42c0a81ba9b3 100644
--- a/drivers/iommu/amd_iommu.c
+++ b/drivers/iommu/amd_iommu.c
@@ -2493,6 +2493,8 @@ out_unmap:
dma_ops_domain_unmap(dma_dom, start);
}
+ domain_flush_pages(&dma_dom->domain, address, size);
+
dma_ops_free_addresses(dma_dom, address, pages);
return DMA_ERROR_CODE;