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

Author: Hyunjun Ko <[email protected]>
Date:   Mon Sep 25 10:41:44 2023 +0900

anv: don't use cmd_buffer after destroyed.

Fixes: 13b3d7f74 ("anv: Handle companion RCS in end/destory/reset code path")

Signed-off-by: Hyunjun Ko <[email protected]>
Reviewed-by: Tapani Pälli <[email protected]>
Reviewed-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Sagar Ghuge <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25366>

---

 src/intel/vulkan/anv_cmd_buffer.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/intel/vulkan/anv_cmd_buffer.c 
b/src/intel/vulkan/anv_cmd_buffer.c
index 01f0d6e4c4a..259abbcb4a4 100644
--- a/src/intel/vulkan/anv_cmd_buffer.c
+++ b/src/intel/vulkan/anv_cmd_buffer.c
@@ -230,15 +230,16 @@ anv_cmd_buffer_destroy(struct vk_command_buffer 
*vk_cmd_buffer)
 {
    struct anv_cmd_buffer *cmd_buffer =
       container_of(vk_cmd_buffer, struct anv_cmd_buffer, vk);
+   struct anv_device *device = cmd_buffer->device;
 
-   pthread_mutex_lock(&cmd_buffer->device->mutex);
+   pthread_mutex_lock(&device->mutex);
    if (cmd_buffer->companion_rcs_cmd_buffer) {
       destroy_cmd_buffer(cmd_buffer->companion_rcs_cmd_buffer);
       cmd_buffer->companion_rcs_cmd_buffer = NULL;
    }
 
    destroy_cmd_buffer(cmd_buffer);
-   pthread_mutex_unlock(&cmd_buffer->device->mutex);
+   pthread_mutex_unlock(&device->mutex);
 }
 
 static void

Reply via email to