summaryrefslogtreecommitdiff
path: root/drivers/iommu
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 /drivers/iommu
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')
-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;