From f6766ccadbc900dbe5e49db51fd39f3a3d416182 Mon Sep 17 00:00:00 2001 From: "Juan A. Suarez Romero" Date: Fri, 4 Oct 2024 10:05:11 +0200 Subject: [PATCH] v3dv: fix BO allocation `cleared_and_retried` variable is not required, as once the cache is empty, in the second retry it will retry it is already empty so it won't retry a new allocation. Fixes: 2adea940f1f ("v3dv/bo: adding a BO cache") Reviewed-by: Iago Toral Quiroga Signed-off-by: Juan A. Suarez Romero Part-of: --- src/broadcom/vulkan/v3dv_bo.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/broadcom/vulkan/v3dv_bo.c b/src/broadcom/vulkan/v3dv_bo.c index 6d5e3f9a72d..5a13479d004 100644 --- a/src/broadcom/vulkan/v3dv_bo.c +++ b/src/broadcom/vulkan/v3dv_bo.c @@ -238,20 +238,16 @@ v3dv_bo_alloc(struct v3dv_device *device, } } - retry: - ; - - bool cleared_and_retried = false; struct drm_v3d_create_bo create = { .size = size }; - int ret = v3d_ioctl(device->pdevice->render_fd, - DRM_IOCTL_V3D_CREATE_BO, &create); + int ret; +retry: + ret = v3d_ioctl(device->pdevice->render_fd, + DRM_IOCTL_V3D_CREATE_BO, &create); if (ret != 0) { - if (!list_is_empty(&device->bo_cache.time_list) && - !cleared_and_retried) { - cleared_and_retried = true; + if (!list_is_empty(&device->bo_cache.time_list)) { bo_cache_free_all(device, true); goto retry; }