On 10/9/26 17:46, Benjamin Cheng wrote:
> This was supposed to loop over the individual evicted list, as the
> kernel and always_valid evicted lists were already handled in
> amdgpu_vm_validate.
> 
> Without this, BOs that were created and evicted before a userq was made
> would end up never end up in an eviction fence rearm.
> 
> Fixes: 4cdbba5a16aa ("drm/amdgpu: restructure VM state machine v4")
> Signed-off-by: Benjamin Cheng <[email protected]>

Totally my fault, thanks for catching that.

Reviewed-by: Christian König <[email protected]>

> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
> index a90db4d3d4e9..5b9f7f7f3862 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
> @@ -993,8 +993,8 @@ amdgpu_userq_bo_validate(struct amdgpu_device *adev, 
> struct drm_exec *exec,
>       int ret;
>  
>       spin_lock(&vm->individual_lock);
> -     while (!list_empty(&vm->always_valid.evicted)) {
> -             bo_va = list_first_entry(&vm->always_valid.evicted,
> +     while (!list_empty(&vm->individual.evicted)) {
> +             bo_va = list_first_entry(&vm->individual.evicted,
>                                        struct amdgpu_bo_va,
>                                        base.vm_status);
>               spin_unlock(&vm->individual_lock);

Reply via email to