[PATCH] drm/amd/amdgpu: Fix csb.bo pin_count leak on gfx 9

Christian König christian.koenig at amd.com
Thu Nov 4 09:53:43 UTC 2021


Am 04.11.21 um 10:40 schrieb YuBiao Wang:
> [Why]
> csb bo is not unpinned in gfx 9. It will lead to pin_count leak on
> driver unload.
>
> [How]
> Call bo_free_kernel corresponding to bo_create_kernel in
> gfx_rlc_init_csb. This will also unify the code path with other gfx
> versions.
>
> Signed-off-by: YuBiao Wang <YuBiao.Wang at amd.com>

Reviewed-by: Christian König <christian.koenig at amd.com>

> ---
>   drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
> index 7f944bb11298..be803ebd543c 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
> @@ -2462,7 +2462,9 @@ static int gfx_v9_0_sw_fini(void *handle)
>   	amdgpu_gfx_kiq_fini(adev);
>   
>   	gfx_v9_0_mec_fini(adev);
> -	amdgpu_bo_unref(&adev->gfx.rlc.clear_state_obj);
> +	amdgpu_bo_free_kernel(&adev->gfx.rlc.clear_state_obj,
> +				&adev->gfx.rlc.clear_state_gpu_addr,
> +				(void **)&adev->gfx.rlc.cs_ptr);
>   	if (adev->flags & AMD_IS_APU) {
>   		amdgpu_bo_free_kernel(&adev->gfx.rlc.cp_table_obj,
>   				&adev->gfx.rlc.cp_table_gpu_addr,



More information about the amd-gfx mailing list