diff --git a/msm/sde/sde_kms.c b/msm/sde/sde_kms.c index 4cde4048..a6d070c3 100644 --- a/msm/sde/sde_kms.c +++ b/msm/sde/sde_kms.c @@ -3549,6 +3549,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; } @@ -3585,7 +3586,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;