diff options
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/fifo_gk20a.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c index f4b96b7a..a1844a28 100644 --- a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * GK20A Graphics FIFO (gr host) | 2 | * GK20A Graphics FIFO (gr host) |
3 | * | 3 | * |
4 | * Copyright (c) 2011-2018, NVIDIA CORPORATION. All rights reserved. | 4 | * Copyright (c) 2011-2019, NVIDIA CORPORATION. All rights reserved. |
5 | * | 5 | * |
6 | * Permission is hereby granted, free of charge, to any person obtaining a | 6 | * Permission is hereby granted, free of charge, to any person obtaining a |
7 | * copy of this software and associated documentation files (the "Software"), | 7 | * copy of this software and associated documentation files (the "Software"), |
@@ -2193,6 +2193,11 @@ int gk20a_fifo_tsg_unbind_channel(struct channel_gk20a *ch) | |||
2193 | nvgpu_rwsem_down_write(&tsg->ch_list_lock); | 2193 | nvgpu_rwsem_down_write(&tsg->ch_list_lock); |
2194 | nvgpu_list_del(&ch->ch_entry); | 2194 | nvgpu_list_del(&ch->ch_entry); |
2195 | ch->tsgid = NVGPU_INVALID_TSG_ID; | 2195 | ch->tsgid = NVGPU_INVALID_TSG_ID; |
2196 | |||
2197 | /* another thread could have re-enabled the channel because it was | ||
2198 | * still on the list at that time, so make sure it's truly disabled | ||
2199 | */ | ||
2200 | g->ops.fifo.disable_channel(ch); | ||
2196 | nvgpu_rwsem_up_write(&tsg->ch_list_lock); | 2201 | nvgpu_rwsem_up_write(&tsg->ch_list_lock); |
2197 | 2202 | ||
2198 | /* | 2203 | /* |