diff --git a/.pick_status.json b/.pick_status.json index d1152e9b6a2..78bef1745a2 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -10154,7 +10154,7 @@ "description": "tu/drm: Add missing error path cleanup", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "bea6290ca090a7be7e7d51c9316cf68337ac4e1f", "notes": null diff --git a/src/freedreno/vulkan/tu_knl_drm_msm.cc b/src/freedreno/vulkan/tu_knl_drm_msm.cc index d093f57263d..125477e62ad 100644 --- a/src/freedreno/vulkan/tu_knl_drm_msm.cc +++ b/src/freedreno/vulkan/tu_knl_drm_msm.cc @@ -483,6 +483,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; }