iommu/arm-smmu: on domain destroy invlidate domain cfg

Invalidate the domain cfg when destroying the domain
otherwise this can cause issues on subsequent attaches.
For example if the cfb cbndx is not cleared then a new
context won't get assigned to the domain.

Change-Id: If576c6c8a7da90c4ce3f1061df4b3ba0dce495e1
Signed-off-by: Liam Mark <lmark@codeaurora.org>
This commit is contained in:
Liam Mark 2016-10-20 13:50:45 -07:00
parent 773f15cdab
commit 2fc4031194

View file

@ -1870,6 +1870,10 @@ free_irqs:
arm_smmu_free_context_idx(smmu, cfg->cbndx); arm_smmu_free_context_idx(smmu, cfg->cbndx);
smmu_domain->smmu = NULL; smmu_domain->smmu = NULL;
cfg->cbndx = INVALID_CBNDX;
cfg->irptndx = INVALID_IRPTNDX;
cfg->asid = INVALID_ASID;
cfg->vmid = INVALID_VMID;
} }
static struct iommu_domain *arm_smmu_domain_alloc(unsigned type) static struct iommu_domain *arm_smmu_domain_alloc(unsigned type)