diff options
author | Konsta Holtta <kholtta@nvidia.com> | 2014-11-13 07:18:22 -0500 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-03-18 15:12:15 -0400 |
commit | 2d7c5e1a5bf6e56e802c6e847baee5623d00431c (patch) | |
tree | e86e9cecc42a85f53a2a819d78a893314b5dfa18 | |
parent | cd072a192b0de73c512dfa3ca9ed4b5c25f10119 (diff) |
gpu: nvgpu: cde: warn on double finish and release
Add WARN to conditions that should never happen, to help debugging
any context issues.
Bug 200052943
Change-Id: Ibe2a9507f3a62bb7b2e263ff3ff21a24a092a971
Signed-off-by: Konsta Holtta <kholtta@nvidia.com>
Reviewed-on: http://git-master/r/602885
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/cde_gk20a.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/cde_gk20a.c b/drivers/gpu/nvgpu/gk20a/cde_gk20a.c index c96225c7..f85e0c4c 100644 --- a/drivers/gpu/nvgpu/gk20a/cde_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/cde_gk20a.c | |||
@@ -731,6 +731,8 @@ __releases(&cde_app->mutex) | |||
731 | 731 | ||
732 | mutex_lock(&cde_app->mutex); | 732 | mutex_lock(&cde_app->mutex); |
733 | 733 | ||
734 | WARN(!cde_ctx->in_use, "double release cde context %p", cde_ctx); | ||
735 | |||
734 | cde_ctx->in_use = false; | 736 | cde_ctx->in_use = false; |
735 | list_move(&cde_ctx->list, &cde_app->free_contexts); | 737 | list_move(&cde_ctx->list, &cde_app->free_contexts); |
736 | cde_app->ctx_usecount--; | 738 | cde_app->ctx_usecount--; |
@@ -1041,6 +1043,8 @@ __releases(&cde_app->mutex) | |||
1041 | return; | 1043 | return; |
1042 | 1044 | ||
1043 | gk20a_dbg(gpu_dbg_fn | gpu_dbg_cde_ctx, "cde: finished %p", cde_ctx); | 1045 | gk20a_dbg(gpu_dbg_fn | gpu_dbg_cde_ctx, "cde: finished %p", cde_ctx); |
1046 | WARN(!cde_ctx->in_use, "double finish cde context %p on channel %p", | ||
1047 | cde_ctx, ch); | ||
1044 | 1048 | ||
1045 | if (ch->has_timedout) { | 1049 | if (ch->has_timedout) { |
1046 | if (cde_ctx->is_temporary) { | 1050 | if (cde_ctx->is_temporary) { |