summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrazvydas Ignotas <[email protected]>2018-01-16 00:00:33 +0200
committerGrazvydas Ignotas <[email protected]>2018-01-19 13:30:22 +0200
commite6abc613e2a78c01d1e79e4cd3be79e58d52eac2 (patch)
treecf9ddfe0a1e3d621ba67ebba15b2d18a55725288
parent302ff82434e03f3acd87af3df201bc4f7836a0fc (diff)
st/vdpau: release held lock in error path
Signed-off-by: Grazvydas Ignotas <[email protected]> Reviewed-by: Christian König <[email protected]> Cc: [email protected]
-rw-r--r--src/gallium/state_trackers/vdpau/surface.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/vdpau/surface.c b/src/gallium/state_trackers/vdpau/surface.c
index c678eb70377..012d3036411 100644
--- a/src/gallium/state_trackers/vdpau/surface.c
+++ b/src/gallium/state_trackers/vdpau/surface.c
@@ -369,8 +369,10 @@ vlVdpVideoSurfacePutBitsYCbCr(VdpVideoSurface surface,
if (pformat == PIPE_FORMAT_YV12 &&
p_surf->video_buffer->buffer_format == PIPE_FORMAT_NV12)
conversion = CONVERSION_YV12_TO_NV12;
- else
+ else {
+ mtx_unlock(&p_surf->device->mutex);
return VDP_STATUS_NO_IMPLEMENTATION;
+ }
}
sampler_views = p_surf->video_buffer->get_sampler_view_planes(p_surf->video_buffer);