diff options
-rw-r--r-- | src/gallium/state_trackers/va/surface.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/va/surface.c b/src/gallium/state_trackers/va/surface.c index 012e48eb32f..3ee1cdda426 100644 --- a/src/gallium/state_trackers/va/surface.c +++ b/src/gallium/state_trackers/va/surface.c @@ -106,8 +106,10 @@ vlVaSyncSurface(VADriverContextP ctx, VASurfaceID render_target) pipe_mutex_lock(drv->mutex); surf = handle_table_get(drv->htab, render_target); - if (!surf || !surf->buffer) + if (!surf || !surf->buffer) { + pipe_mutex_unlock(drv->mutex); return VA_STATUS_ERROR_INVALID_SURFACE; + } context = handle_table_get(drv->htab, surf->ctx); if (!context) { |