summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/fence_gk20a.c
diff options
context:
space:
mode:
authorArto Merilainen <amerilainen@nvidia.com>2014-08-05 10:50:51 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:10:47 -0400
commit19b8f854ce5861598bb7749775440bd2f946c348 (patch)
tree5dd044e1626f63124babfa557c05712c4730ca8a /drivers/gpu/nvgpu/gk20a/fence_gk20a.c
parentae3ba04955966f371447dfa96d05564418882021 (diff)
gpu: nvgpu: Fix semaphore refcounting
This patch fixes a refcounting issue in semaphore handling. Change-Id: I03327c60ed6923a90663f0b845566e81af4b94d4 Signed-off-by: Arto Merilainen <amerilainen@nvidia.com> Reviewed-on: http://git-master/r/453056 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/fence_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/fence_gk20a.c3
1 files changed, 2 insertions, 1 deletions
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 = {
139 .is_expired = &gk20a_semaphore_fence_is_expired, 139 .is_expired = &gk20a_semaphore_fence_is_expired,
140}; 140};
141 141
142/* This function takes ownership of the semaphore */
142struct gk20a_fence *gk20a_fence_from_semaphore( 143struct gk20a_fence *gk20a_fence_from_semaphore(
143 struct sync_timeline *timeline, 144 struct sync_timeline *timeline,
144 struct gk20a_semaphore *semaphore, 145 struct gk20a_semaphore *semaphore,
@@ -163,7 +164,7 @@ struct gk20a_fence *gk20a_fence_from_semaphore(
163#endif 164#endif
164 return NULL; 165 return NULL;
165 } 166 }
166 gk20a_semaphore_get(semaphore); 167
167 f->semaphore = semaphore; 168 f->semaphore = semaphore;
168 f->semaphore_wq = semaphore_wq; 169 f->semaphore_wq = semaphore_wq;
169 return f; 170 return f;