drm/amdgpu: fix the eviction fence dereference
authorPrike Liang <Prike.Liang@amd.com>
Tue, 15 Apr 2025 02:42:19 +0000 (10:42 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 7 May 2025 21:41:54 +0000 (17:41 -0400)
The dma_resv_add_fence() already refers to the added fence.
So when attaching the evciton fence to the gem bo, it needn't
refer to it anymore.

Signed-off-by: Prike Liang <Prike.Liang@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_eviction_fence.c

index d86e611..1a74695 100644 (file)
@@ -189,7 +189,6 @@ void amdgpu_eviction_fence_destroy(struct amdgpu_eviction_fence_mgr *evf_mgr)
 int amdgpu_eviction_fence_attach(struct amdgpu_eviction_fence_mgr *evf_mgr,
                                 struct amdgpu_bo *bo)
 {
-       struct dma_fence *ef;
        struct amdgpu_eviction_fence *ev_fence;
        struct dma_resv *resv = bo->tbo.base.resv;
        int ret;
@@ -205,10 +204,8 @@ int amdgpu_eviction_fence_attach(struct amdgpu_eviction_fence_mgr *evf_mgr,
 
        spin_lock(&evf_mgr->ev_fence_lock);
        ev_fence = evf_mgr->ev_fence;
-       if (ev_fence) {
-               ef = dma_fence_get(&ev_fence->base);
-               dma_resv_add_fence(resv, ef, DMA_RESV_USAGE_BOOKKEEP);
-       }
+       if (ev_fence)
+               dma_resv_add_fence(resv, &ev_fence->base, DMA_RESV_USAGE_BOOKKEEP);
        spin_unlock(&evf_mgr->ev_fence_lock);
 
        return 0;