Module: Mesa
Branch: main
Commit: 84524cfdfabaeb2faa7ceb8e1ab969eb2c10eae2
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=84524cfdfabaeb2faa7ceb8e1ab969eb2c10eae2

Author: Rob Clark <[email protected]>
Date:   Wed Jun 21 14:46:46 2023 -0700

tu/drm: Add missing error path cleanup

Fixes: bea6290ca090 ("turnip: device global bo list")
Signed-off-by: Rob Clark <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23533>

---

 src/freedreno/vulkan/tu_knl_drm_msm.cc | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/freedreno/vulkan/tu_knl_drm_msm.cc 
b/src/freedreno/vulkan/tu_knl_drm_msm.cc
index cbb15bc16fb..ff6a2ede495 100644
--- a/src/freedreno/vulkan/tu_knl_drm_msm.cc
+++ b/src/freedreno/vulkan/tu_knl_drm_msm.cc
@@ -460,6 +460,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;
       }

Reply via email to