diff options
| author | AnjaneeDevi Kapparapu <c_akappa@qti.qualcomm.com> | 2015-01-31 08:13:49 -0800 |
|---|---|---|
| committer | AnjaneeDevi Kapparapu <c_akappa@qti.qualcomm.com> | 2015-02-03 16:04:47 +0530 |
| commit | f2af211d3eaeee8d3631f697d0405773b69a6845 (patch) | |
| tree | 38b5a8bb0388f4873ac66af53251e674e9badfa7 | |
| parent | d22e8aabd3a3cb6faffd8cf39bb7ff7f9befdea3 (diff) | |
qcacld: vos: Fix crash and memory leak caused by driver load failure
In vos_sched_open() if any thread creation fails it needs to free
TL shim free packet queue and unregister cpu notifier such that
kernel does not call cpu notifier callback when driver context
is freed.
Change-Id: I6aed6d6dc5eb7cf41a348914f55583c842bc6f26
CRs-Fixed: 789429
| -rw-r--r-- | CORE/VOSS/src/vos_sched.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/CORE/VOSS/src/vos_sched.c b/CORE/VOSS/src/vos_sched.c index 017ea3f34a98..5ac1a5024cbf 100644 --- a/CORE/VOSS/src/vos_sched.c +++ b/CORE/VOSS/src/vos_sched.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012-2014 The Linux Foundation. All rights reserved. + * Copyright (c) 2012-2015 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -414,6 +414,13 @@ TX_THREAD_START_FAILURE: MC_THREAD_START_FAILURE: //De-initialize all the message queues vos_sched_deinit_mqs(pSchedContext); + + +#ifdef QCA_CONFIG_SMP + unregister_hotcpu_notifier(&vos_cpu_hotplug_notifier); + vos_free_tlshim_pkt_freeq(gpVosSchedContext); +#endif + return VOS_STATUS_E_RESOURCES; } /* vos_sched_open() */ |
