diff options
author | Alina Kalyakina <alinakalyakina@google.com> | 2024-01-10 13:37:53 +0000 |
---|---|---|
committer | Alina Kalyakina <alinakalyakina@google.com> | 2024-01-10 15:07:42 +0000 |
commit | 52fcce85dd9b60e74fdda5360acce6cce621102d (patch) | |
tree | 2bb892e534eab7401f82bd4804abf50b1d52596b /mali_kbase/csf | |
parent | 005bdac5fdb6b2a60b9f70478472269e15767837 (diff) | |
download | gpu-52fcce85dd9b60e74fdda5360acce6cce621102d.tar.gz |
Fix cleanup paths of kbase_csf_scheduler_init and kbase_csf_scheduler_term
Now kbase_csf_scheduler_init does cleanup if mali-gpuq-kthread wasn't
created and kbase_csf_scheduler_term tries to stop the thread only if
it doesn't have error
Bug: 318576353
Provenance: b/305128960#comment7
Change-Id: I008d11ead3388919dd4e7ce8ee5540785a3d26a3
Signed-off-by: Alina Kalyakina <alinakalyakina@google.com>
Diffstat (limited to 'mali_kbase/csf')
-rw-r--r-- | mali_kbase/csf/mali_kbase_csf_scheduler.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/mali_kbase/csf/mali_kbase_csf_scheduler.c b/mali_kbase/csf/mali_kbase_csf_scheduler.c index 8d0fff6..6dc4c20 100644 --- a/mali_kbase/csf/mali_kbase_csf_scheduler.c +++ b/mali_kbase/csf/mali_kbase_csf_scheduler.c @@ -7351,7 +7351,7 @@ int kbase_csf_scheduler_init(struct kbase_device *kbdev) scheduler->kthread_running = true; scheduler->gpuq_kthread = kbase_kthread_run_rt(kbdev, &kbase_csf_scheduler_kthread, kbdev, "mali-gpuq-kthread"); - if (IS_ERR(scheduler->gpuq_kthread)) { + if (IS_ERR_OR_NULL(scheduler->gpuq_kthread)) { kfree(scheduler->csg_slots); scheduler->csg_slots = NULL; @@ -7440,7 +7440,7 @@ void kbase_csf_scheduler_term(struct kbase_device *kbdev) { struct kbase_csf_scheduler *scheduler = &kbdev->csf.scheduler; - if (scheduler->gpuq_kthread) { + if (!IS_ERR_OR_NULL(scheduler->gpuq_kthread)) { scheduler->kthread_running = false; complete(&scheduler->kthread_signal); kthread_stop(scheduler->gpuq_kthread); |