panfrost: Avoid double unlock.
authorVinson Lee <vlee@freedesktop.org>
Mon, 20 Dec 2021 04:08:37 +0000 (20:08 -0800)
committerMarge Bot <emma+marge@anholt.net>
Wed, 22 Dec 2021 02:01:57 +0000 (02:01 +0000)
Fix defect reported by Coverity Scan.

Double unlock (LOCK)
double_unlock: pthread_mutex_unlock unlocks dev->indirect_draw_shaders.lock while it is unlocked.

Fixes: 2e6d94c198e ("panfrost: Add helpers to support indirect draws")
Suggested-by: Alyssa Rosenzweig <alyssa@collabora.com>
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14262>

src/panfrost/lib/pan_indirect_draw.c

index 9444bd3..099e1b1 100644 (file)
@@ -1168,7 +1168,6 @@ create_indirect_draw_shader(struct panfrost_device *dev,
                 pan_pack(state, RENDERER_STATE, cfg) {
                         pan_shader_prepare_rsd(&shader_info, address, &cfg);
                 }
-                pthread_mutex_unlock(&dev->indirect_draw_shaders.lock);
 
                 draw_shader->push = shader_info.push;
                 draw_shader->rsd = dev->indirect_draw_shaders.states->ptr.gpu +