summaryrefslogtreecommitdiff
path: root/drivers/iommu/amd_iommu.c
diff options
context:
space:
mode:
authorJoerg Roedel <jroedel@suse.de>2015-12-21 15:14:52 +0300
committerJoerg Roedel <jroedel@suse.de>2015-12-28 19:18:50 +0300
commit53b3b65aa5befe9e96e8f8708a76208190a07e14 (patch)
tree162e187c01248eb87c4a6cf518037a5cf2ffb199 /drivers/iommu/amd_iommu.c
parent08c5fb938e05314b48fc12e697003e91d43c3c9d (diff)
downloadlinux-53b3b65aa5befe9e96e8f8708a76208190a07e14.tar.xz
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;