From d98d6e0e1c0a5273a4047136784bb0aaa140801c Mon Sep 17 00:00:00 2001 From: Vinson Lee Date: Tue, 6 Jun 2023 23:16:19 -0700 Subject: [PATCH] frontends/va: Fix missing unlock Fix defect reported by Coverity Scan. Missing unlock (LOCK) missing_unlock: Returning without unlocking drv->mutex. Fixes: af695149e96 ("frontends/va: pass in film_grain_target as new output") Signed-off-by: Vinson Lee Reviewed-by: Boyuan Zhang Part-of: (cherry picked from commit e1d948b6a247a7c5d05c90a05b47e5675738a417) --- .pick_status.json | 2 +- src/gallium/frontends/va/picture.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 9c2e450e6c8..53f4beda572 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -2623,7 +2623,7 @@ "description": "frontends/va: Fix missing unlock", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "af695149e96bf276b52ff3715076ddc847c6b959" }, diff --git a/src/gallium/frontends/va/picture.c b/src/gallium/frontends/va/picture.c index 3a558f55b94..58ccfee0f1b 100644 --- a/src/gallium/frontends/va/picture.c +++ b/src/gallium/frontends/va/picture.c @@ -877,8 +877,10 @@ vlVaEndPicture(VADriverContextP ctx, VAContextID context_id) mtx_lock(&drv->mutex); surf = handle_table_get(drv->htab, output_id); - if (!surf || !surf->buffer) + if (!surf || !surf->buffer) { + mtx_unlock(&drv->mutex); return VA_STATUS_ERROR_INVALID_SURFACE; + } if (apply_av1_fg) { surf->ctx = context_id;