diff options
Diffstat (limited to 'drivers/iommu/intel-iommu.c')
| -rw-r--r-- | drivers/iommu/intel-iommu.c | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c index 90ab0115d78e..fc2765ccdb57 100644 --- a/drivers/iommu/intel-iommu.c +++ b/drivers/iommu/intel-iommu.c @@ -2055,11 +2055,14 @@ static int domain_context_mapping_one(struct dmar_domain *domain,  	if (context_copied(context)) {  		u16 did_old = context_domain_id(context); -		if (did_old >= 0 && did_old < cap_ndoms(iommu->cap)) +		if (did_old >= 0 && did_old < cap_ndoms(iommu->cap)) {  			iommu->flush.flush_context(iommu, did_old,  						   (((u16)bus) << 8) | devfn,  						   DMA_CCMD_MASK_NOBIT,  						   DMA_CCMD_DEVICE_INVL); +			iommu->flush.flush_iotlb(iommu, did_old, 0, 0, +						 DMA_TLB_DSI_FLUSH); +		}  	}  	pgd = domain->pgd;  |