diff --git a/xen/drivers/passthrough/amd/iommu_map.c b/xen/drivers/passthrough/amd/iommu_map.c index d10dd1ac8e..eb38c9a0bf 100644 --- a/xen/drivers/passthrough/amd/iommu_map.c +++ b/xen/drivers/passthrough/amd/iommu_map.c @@ -585,8 +585,6 @@ int __init amd_iommu_quarantine_init(struct domain *d) out: spin_unlock(&hd->arch.mapping_lock); - amd_iommu_flush_all_pages(d); - /* Pages leaked in failure case */ return level ? -ENOMEM : 0; } diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c index 52e9ec38e6..322c395403 100644 --- a/xen/drivers/passthrough/vtd/iommu.c +++ b/xen/drivers/passthrough/vtd/iommu.c @@ -2914,7 +2914,6 @@ static int __init intel_iommu_quarantine_init(struct domain *d) struct dma_pte *parent; unsigned int agaw = width_to_agaw(DEFAULT_DOMAIN_ADDRESS_WIDTH); unsigned int level = agaw_to_level(agaw); - int rc; if ( hd->arch.pgd_maddr ) { @@ -2961,10 +2960,8 @@ static int __init intel_iommu_quarantine_init(struct domain *d) out: spin_unlock(&hd->arch.mapping_lock); - rc = iommu_flush_iotlb_all(d); - /* Pages leaked in failure case */ - return level ? -ENOMEM : rc; + return level ? -ENOMEM : 0; } const struct iommu_ops __initconstrel intel_iommu_ops = {