summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common
diff options
context:
space:
mode:
authorPeter Daifuku <pdaifuku@nvidia.com>2018-12-07 14:04:07 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2018-12-15 20:41:55 -0500
commit32672afbc03e4688b444e58494aa77168b7f2147 (patch)
tree5596ddda50a01f2552f86e3ad49c3afa6c206264 /drivers/gpu/nvgpu/common
parent2d3e99067ea47d66a9490c405dcebc46e7fcdf03 (diff)
nvgpu: pmu: cleanup init thread on destroy
In nvgpu_kill_task_pg_init(), call nvgpu_thread_join() if the init thread is no longer running in order to reclaim thread resources. Bug 2452799 JIRA ESRM-437 Change-Id: Id9c67f689027f00039ac2df226ee9c28ad89dd1d Signed-off-by: Peter Daifuku <pdaifuku@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1967983 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: svc-misra-checker <svc-misra-checker@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Alex Waterman <alexw@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1970058 Reviewed-by: Shmuel Ungerfeld <sungerfeld@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Tested-by: Shmuel Ungerfeld <sungerfeld@nvidia.com> Reviewed-by: Rahul Jain (SW-TEGRA) <rahuljain@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/common')
-rw-r--r--drivers/gpu/nvgpu/common/pmu/pmu.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/common/pmu/pmu.c b/drivers/gpu/nvgpu/common/pmu/pmu.c
index 9bcfa14e..f86dc2c2 100644
--- a/drivers/gpu/nvgpu/common/pmu/pmu.c
+++ b/drivers/gpu/nvgpu/common/pmu/pmu.c
@@ -171,6 +171,8 @@ void nvgpu_kill_task_pg_init(struct gk20a *g)
171 nvgpu_udelay(2); 171 nvgpu_udelay(2);
172 } while (nvgpu_timeout_expired_msg(&timeout, 172 } while (nvgpu_timeout_expired_msg(&timeout,
173 "timeout - waiting PMU state machine thread stop") == 0); 173 "timeout - waiting PMU state machine thread stop") == 0);
174 } else {
175 nvgpu_thread_join(&pmu->pg_init.state_task);
174 } 176 }
175} 177}
176 178