summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoerg Roedel <jroedel@suse.de>2015-12-21 12:14:52 (GMT)
committerJoerg Roedel <jroedel@suse.de>2015-12-28 16:18:50 (GMT)
commit53b3b65aa5befe9e96e8f8708a76208190a07e14 (patch)
tree162e187c01248eb87c4a6cf518037a5cf2ffb199
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>
-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 8ff3331..42c0a81 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;