From 3acc53d7a4ce51b4d2b379ec7bc24d0d664a33d7 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Thu, 5 Mar 2026 11:31:09 -0800 Subject: [PATCH] freedreno/drm: Fix bo_flush race Once we've dropped the lock, we need to be referring to our own temporary reference. Fixes: 7b02bc6139f1 ("freedreno/drm: Drop fd_bo_fence") Signed-off-by: Rob Clark (cherry picked from commit f5d40636cd254ae9b555beb11d073162cf98391a) Part-of: --- .pick_status.json | 2 +- src/freedreno/drm/freedreno_bo.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 7e97565b19b..76feee1bce7 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -954,7 +954,7 @@ "description": "freedreno/drm: Fix bo_flush race", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "7b02bc6139f1327def491680115d5f992f340764", "notes": null diff --git a/src/freedreno/drm/freedreno_bo.c b/src/freedreno/drm/freedreno_bo.c index 1f99f36bd2b..6eda8101e46 100644 --- a/src/freedreno/drm/freedreno_bo.c +++ b/src/freedreno/drm/freedreno_bo.c @@ -501,7 +501,7 @@ bo_flush(struct fd_bo *bo) simple_mtx_unlock(&fence_lock); for (unsigned i = 0; i < nr; i++) { - fd_fence_flush(bo->fences[i]); + fd_fence_flush(fences[i]); fd_fence_del(fences[i]); } }