From 19b8f854ce5861598bb7749775440bd2f946c348 Mon Sep 17 00:00:00 2001 From: Arto Merilainen Date: Tue, 5 Aug 2014 17:50:51 +0300 Subject: gpu: nvgpu: Fix semaphore refcounting This patch fixes a refcounting issue in semaphore handling. Change-Id: I03327c60ed6923a90663f0b845566e81af4b94d4 Signed-off-by: Arto Merilainen Reviewed-on: http://git-master/r/453056 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Terje Bergstrom --- drivers/gpu/nvgpu/gk20a/fence_gk20a.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'drivers/gpu/nvgpu/gk20a/fence_gk20a.c') diff --git a/drivers/gpu/nvgpu/gk20a/fence_gk20a.c b/drivers/gpu/nvgpu/gk20a/fence_gk20a.c index 1a28e660..3b1f1024 100644 --- a/drivers/gpu/nvgpu/gk20a/fence_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/fence_gk20a.c @@ -139,6 +139,7 @@ static const struct gk20a_fence_ops gk20a_semaphore_fence_ops = { .is_expired = &gk20a_semaphore_fence_is_expired, }; +/* This function takes ownership of the semaphore */ struct gk20a_fence *gk20a_fence_from_semaphore( struct sync_timeline *timeline, struct gk20a_semaphore *semaphore, @@ -163,7 +164,7 @@ struct gk20a_fence *gk20a_fence_from_semaphore( #endif return NULL; } - gk20a_semaphore_get(semaphore); + f->semaphore = semaphore; f->semaphore_wq = semaphore_wq; return f; -- cgit v1.2.2