浏览代码

iommu/ipmmu-vmsa: Invalidate TLB after unmapping

The TLB must be invalidated after unmapping memory to remove stale TLB
entries. this was supposed to be performed already, but a bug in the
driver prevented the TLB invalidate function from being called. Fix it.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Laurent Pinchart 11 年之前
父节点
当前提交
9eca0a5875
共有 1 个文件被更改,包括 1 次插入3 次删除
  1. 1 3
      drivers/iommu/ipmmu-vmsa.c

+ 1 - 3
drivers/iommu/ipmmu-vmsa.c

@@ -785,7 +785,6 @@ static int ipmmu_clear_mapping(struct ipmmu_vmsa_domain *domain,
 	pud_t *pud;
 	pud_t *pud;
 	pmd_t *pmd;
 	pmd_t *pmd;
 	pte_t *pte;
 	pte_t *pte;
-	int ret = 0;
 
 
 	if (!pgd)
 	if (!pgd)
 		return -EINVAL;
 		return -EINVAL;
@@ -847,8 +846,7 @@ static int ipmmu_clear_mapping(struct ipmmu_vmsa_domain *domain,
 done:
 done:
 	spin_unlock_irqrestore(&domain->lock, flags);
 	spin_unlock_irqrestore(&domain->lock, flags);
 
 
-	if (ret)
-		ipmmu_tlb_invalidate(domain);
+	ipmmu_tlb_invalidate(domain);
 
 
 	return 0;
 	return 0;
 }
 }