radv: Fix radv_shader_arena_block list corruption

Remove it from the previous list befor adding it to a new one.

cc: mesa-stable

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28961>
This commit is contained in:
Konstantin Seurer
2024-04-28 15:54:32 +02:00
committed by Marge Bot
parent e21ea25de9
commit e050abc961
+1 -2
View File
@@ -839,6 +839,7 @@ alloc_block_obj(struct radv_device *device)
static void
free_block_obj(struct radv_device *device, union radv_shader_arena_block *block)
{
list_del(&block->pool);
list_add(&block->pool, &device->shader_block_obj_pool);
}
@@ -1129,7 +1130,6 @@ radv_free_shader_memory(struct radv_device *device, union radv_shader_arena_bloc
remove_hole(free_list, hole_prev);
hole_prev->size += hole->size;
list_del(&hole->list);
free_block_obj(device, hole);
hole = hole_prev;
@@ -1142,7 +1142,6 @@ radv_free_shader_memory(struct radv_device *device, union radv_shader_arena_bloc
hole_next->offset -= hole->size;
hole_next->size += hole->size;
list_del(&hole->list);
free_block_obj(device, hole);
hole = hole_next;