mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-28 20:02:17 +00:00
drm/amdgpu: fix memory leak when ras is not supported on specific ip block
free ras_if if ras is not supported Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com> Reviewed-by: Tao Zhou <tao.zhou1@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
4ce71be67b
commit
8bf2485aec
4 changed files with 7 additions and 4 deletions
|
@ -4440,7 +4440,8 @@ static int gfx_v9_0_ecc_late_init(void *handle)
|
|||
r = amdgpu_irq_get(adev, &adev->gfx.cp_ecc_error_irq, 0);
|
||||
if (r)
|
||||
goto late_fini;
|
||||
}
|
||||
} else
|
||||
kfree(adev->gfx.ras_if);
|
||||
|
||||
return 0;
|
||||
late_fini:
|
||||
|
|
|
@ -797,7 +797,8 @@ static int gmc_v9_0_ecc_late_init(void *handle)
|
|||
r = amdgpu_irq_get(adev, &adev->gmc.ecc_irq, 0);
|
||||
if (r)
|
||||
goto umc_late_fini;
|
||||
}
|
||||
} else
|
||||
kfree(adev->gmc.umc_ras_if);
|
||||
|
||||
if (adev->mmhub_funcs && adev->mmhub_funcs->ras_late_init) {
|
||||
r = adev->mmhub_funcs->ras_late_init(adev);
|
||||
|
|
|
@ -639,7 +639,7 @@ static int mmhub_v1_0_ras_late_init(struct amdgpu_device *adev)
|
|||
mmhub_ih_info.head = mmhub_fs_info.head = *adev->gmc.mmhub_ras_if;
|
||||
r = amdgpu_ras_late_init(adev, adev->gmc.mmhub_ras_if,
|
||||
&mmhub_fs_info, &mmhub_ih_info);
|
||||
if (r)
|
||||
if (r || !amdgpu_ras_is_supported(adev, adev->gmc.mmhub_ras_if->block))
|
||||
kfree(adev->gmc.mmhub_ras_if);
|
||||
return r;
|
||||
}
|
||||
|
|
|
@ -1728,7 +1728,8 @@ static int sdma_v4_0_late_init(void *handle)
|
|||
if (r)
|
||||
goto late_fini;
|
||||
}
|
||||
}
|
||||
} else
|
||||
kfree(adev->sdma.ras_if);
|
||||
|
||||
return 0;
|
||||
late_fini:
|
||||
|
|
Loading…
Reference in a new issue