Explorar o código

disp: msm: sde: avoid double mmu destroy during mmu init failure

mmu destroy is called in _sde_kms_mmu_destroy as part of
smmu_aspace_destroy. This change avoids msm_smmu already getting
freed at smmu_aspace_destroy.

Change-Id: I00ff2a99295534189ceec7c769cd0a01762408c2
Signed-off-by: Raviteja Tamatam <[email protected]>
Raviteja Tamatam %!s(int64=5) %!d(string=hai) anos
pai
achega
900ddf4a1b
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      msm/sde/sde_kms.c

+ 1 - 1
msm/sde/sde_kms.c

@@ -3493,6 +3493,7 @@ static int _sde_kms_mmu_init(struct sde_kms *sde_kms)
 			mmu, "sde");
 		if (IS_ERR(aspace)) {
 			ret = PTR_ERR(aspace);
+			mmu->funcs->destroy(mmu);
 			goto fail;
 		}
 
@@ -3529,7 +3530,6 @@ static int _sde_kms_mmu_init(struct sde_kms *sde_kms)
 early_map_fail:
 	_sde_kms_unmap_all_splash_regions(sde_kms);
 fail:
-	mmu->funcs->destroy(mmu);
 	_sde_kms_mmu_destroy(sde_kms);
 
 	return ret;