Răsfoiți Sursa

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 5 ani în urmă
părinte
comite
900ddf4a1b
1 a modificat fișierele cu 1 adăugiri și 1 ștergeri
  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;