From 98eebf332287a6e26a0d7e0d56a094b7861d5cdf Mon Sep 17 00:00:00 2001 From: Seungha Yang Date: Tue, 12 Jan 2021 00:13:22 +0900 Subject: [PATCH] va: allocator: Fix deadlock caused by double lock Trivial bug fix for deadlock Part-of: --- sys/va/gstvaallocator.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/va/gstvaallocator.c b/sys/va/gstvaallocator.c index e1140469a1..c1d35bea24 100644 --- a/sys/va/gstvaallocator.c +++ b/sys/va/gstvaallocator.c @@ -1437,11 +1437,11 @@ gst_va_allocator_wait_for_memory (GstAllocator * allocator, GstBuffer * buffer) GST_VA_MEMORY_POOL_LOCK (&self->pool); if (!gst_va_memory_pool_wait_unlocked (&self->pool)) { - GST_VA_MEMORY_POOL_LOCK (&self->pool); + GST_VA_MEMORY_POOL_UNLOCK (&self->pool); return FALSE; } surface = gst_va_allocator_prepare_buffer_unlocked (self, buffer); - GST_VA_MEMORY_POOL_LOCK (&self->pool); + GST_VA_MEMORY_POOL_UNLOCK (&self->pool); if (surface != VA_INVALID_ID) { GST_TRACE_OBJECT (self, "Prepared surface %#x in buffer %p", surface,