diff --git a/.pick_status.json b/.pick_status.json index 0662e356a47..208c6dcfaee 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1525,7 +1525,7 @@ "description": "tu/drm: Add missing error path cleanup", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "bea6290ca090a7be7e7d51c9316cf68337ac4e1f" }, diff --git a/src/freedreno/vulkan/tu_knl_drm_msm.cc b/src/freedreno/vulkan/tu_knl_drm_msm.cc index 287f65a4b91..caaeb58fd42 100644 --- a/src/freedreno/vulkan/tu_knl_drm_msm.cc +++ b/src/freedreno/vulkan/tu_knl_drm_msm.cc @@ -353,6 +353,8 @@ tu_bo_init(struct tu_device *dev, vk_realloc(&dev->vk.alloc, dev->bo_list, new_len * sizeof(*dev->bo_list), 8, VK_SYSTEM_ALLOCATION_SCOPE_DEVICE); if (!new_ptr) { + dev->bo_count--; + mtx_unlock(&dev->bo_mutex); tu_gem_close(dev, gem_handle); return VK_ERROR_OUT_OF_HOST_MEMORY; }