On Wed, Oct 22, 2025 at 4:51 PM Alex Deucher <[email protected]> wrote:
>
> If we don't end up using the vm fence, we never initialize it
> so it never gets freed. Free it in that case.
>
> Fixes: db36632ea51e ("drm/amdgpu: clean up and unify hw fence handling")
> Signed-off-by: Alex Deucher <[email protected]>
I have a better fix. Ignore this.
Alex
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> index db66b4232de02..f3373d5f429f8 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> @@ -845,6 +845,9 @@ int amdgpu_vm_flush(struct amdgpu_ring *ring, struct
> amdgpu_job *job,
> if (r)
> return r;
> fence = &job->hw_vm_fence->base;
> + } else {
> + /* free the vm fence if we are not using it */
> + kfree(job->hw_vm_fence);
> }
>
> if (vm_flush_needed) {
> --
> 2.51.0
>