Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 528c9969 authored by vkakani's avatar vkakani Committed by Gerrit - the friendly Code Review server
Browse files

ARM: SMMU: clear page table ops of attached device



incase of error during dynamic attach,
added smmu attach device cleanup along with
free page table ops

Change-Id: Id8984d05002700014307a905fc7166702fa64a7d
Signed-off-by: default avatarvkakani <vkakani@codeaurora.org>
parent 7c542d93
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -2256,8 +2256,17 @@ static int arm_smmu_attach_dynamic(struct iommu_domain *domain,
	smmu_domain->pgtbl_ops = pgtbl_ops;
	ret = 0;
out:
	if (ret)
	if (ret) {
		free_io_pgtable_ops(pgtbl_ops);
		/* unassign any freed page table memory */
		if (arm_smmu_is_master_side_secure(smmu_domain)) {
			arm_smmu_secure_domain_lock(smmu_domain);
			arm_smmu_secure_pool_destroy(smmu_domain);
			arm_smmu_unassign_table(smmu_domain);
			arm_smmu_secure_domain_unlock(smmu_domain);
		}
		smmu_domain->pgtbl_ops = NULL;
	}
	mutex_unlock(&smmu->attach_lock);

	return ret;