diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2016-09-15 22:41:34 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2016-09-30 03:38:29 -0400 |
commit | f4be6c43734c29f2be022d43504fb2308b8dbac1 (patch) | |
tree | 8225bf1e3657ac47085ef9657f2c638282baf52e /drivers/gpu/nvgpu | |
parent | 4aef26db1921eab37366f1c79c4bde57b53061dc (diff) |
gpu: nvgpu: Cancel timeout handler before job cleanup
Cancel timeout handler before cleaning up the list of jobs. This
prevents a race that makes timeout handler access already freed
jobs.
Bug 1814108
Change-Id: I37cfc408cb1f96b8b0e62db1ca8067a2ae43dd0e
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/1221698
(cherry picked from commit be0d146cba8dc2b1bdb7c53ae39188a4bf0ca019)
Reviewed-on: http://git-master/r/1223843
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/channel_gk20a.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c index 5dac72e5..92b43c8a 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c | |||
@@ -1903,6 +1903,7 @@ static void gk20a_channel_clean_up_jobs(struct work_struct *work) | |||
1903 | platform = gk20a_get_platform(g->dev); | 1903 | platform = gk20a_get_platform(g->dev); |
1904 | 1904 | ||
1905 | gk20a_channel_cancel_job_clean_up(c, false); | 1905 | gk20a_channel_cancel_job_clean_up(c, false); |
1906 | gk20a_channel_timeout_stop(c); | ||
1906 | 1907 | ||
1907 | while (1) { | 1908 | while (1) { |
1908 | bool completed; | 1909 | bool completed; |