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>
This commit is contained in:
Родитель
22463cab3f
Коммит
9eca0a5875
|
@ -785,7 +785,6 @@ static int ipmmu_clear_mapping(struct ipmmu_vmsa_domain *domain,
|
|||
pud_t *pud;
|
||||
pmd_t *pmd;
|
||||
pte_t *pte;
|
||||
int ret = 0;
|
||||
|
||||
if (!pgd)
|
||||
return -EINVAL;
|
||||
|
@ -847,8 +846,7 @@ static int ipmmu_clear_mapping(struct ipmmu_vmsa_domain *domain,
|
|||
done:
|
||||
spin_unlock_irqrestore(&domain->lock, flags);
|
||||
|
||||
if (ret)
|
||||
ipmmu_tlb_invalidate(domain);
|
||||
ipmmu_tlb_invalidate(domain);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче