summaryrefslogtreecommitdiffstats
path: root/drivers/iommu
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
parent08c5fb938e05314b48fc12e697003e91d43c3c9d (diff)
downloadop-kernel-dev-53b3b65aa5befe9e96e8f8708a76208190a07e14.zip
op-kernel-dev-53b3b65aa5befe9e96e8f8708a76208190a07e14.tar.gz
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;
OpenPOWER on IntegriCloud