diff --git a/.pick_status.json b/.pick_status.json index 19a5e3ccdf1..0383aacf73d 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -4474,7 +4474,7 @@ "description": "v3dv: fix BO allocation", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "2adea940f1fc155032923cd84fc1cbb51459d0d5", "notes": null diff --git a/src/broadcom/vulkan/v3dv_bo.c b/src/broadcom/vulkan/v3dv_bo.c index 1b26abec325..aa337cacd07 100644 --- a/src/broadcom/vulkan/v3dv_bo.c +++ b/src/broadcom/vulkan/v3dv_bo.c @@ -244,20 +244,16 @@ v3dv_bo_alloc(struct v3dv_device *device, } } - retry: - ; - - bool cleared_and_retried = false; struct drm_v3d_create_bo create = { .size = size }; - int ret = v3dv_ioctl(device->pdevice->render_fd, - DRM_IOCTL_V3D_CREATE_BO, &create); + int ret; +retry: + ret = v3dv_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; }