diff options
| author | Ganesh Babu Kumaravel <kganesh@qti.qualcomm.com> | 2014-03-10 15:55:35 +0530 |
|---|---|---|
| committer | Akash Patel <c_akashp@qca.qualcomm.com> | 2014-03-11 18:03:44 -0700 |
| commit | 5d43c2cf4eeeaaf33bcaa3f0de86a312123de4e0 (patch) | |
| tree | 4b79ed5bbd1cc68aa1e41b8cc6f30b97c11aa6de | |
| parent | 6afeb8200a2a3ca73142036b1e0da06806ed5156 (diff) | |
qcacld:Fix for kernel panic in collecting ramdump
During Initialization pContext in HIFInfo is initialized to
gpVosContext->pHIFContext which will be passed while calling
TargetFailure. But in HTCRxCompletionHandler the pContext is
getting modified to address of local stack variable while
handling HTC_MSG_SEND_SUSPEND_COMPLETE and HTC_MSG_NACK_SUSPEND.
Because of this TargetFailure handler is getting called with
wrong context which results in Kernel panic. So fix it by
not modifying pContext in HTCRxCompletionHandler.
CRs-Fixed: 625523
Change-Id: I4bbcd6c684d0e4364ae3e266a7e255063f25e73c
| -rw-r--r-- | CORE/SERVICES/HTC/htc_recv.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/CORE/SERVICES/HTC/htc_recv.c b/CORE/SERVICES/HTC/htc_recv.c index 2d1a038a7d58..a6560b4d0c13 100644 --- a/CORE/SERVICES/HTC/htc_recv.c +++ b/CORE/SERVICES/HTC/htc_recv.c @@ -398,13 +398,11 @@ A_STATUS HTCRxCompletionHandler( break; case HTC_MSG_SEND_SUSPEND_COMPLETE: wow_nack = 0; - target->HTCInitInfo.pContext = (void *)&wow_nack; - target->HTCInitInfo.TargetSendSuspendComplete(target->HTCInitInfo.pContext); + target->HTCInitInfo.TargetSendSuspendComplete((void *)&wow_nack); break; case HTC_MSG_NACK_SUSPEND: wow_nack = 1; - target->HTCInitInfo.pContext = (void *)&wow_nack; - target->HTCInitInfo.TargetSendSuspendComplete(target->HTCInitInfo.pContext); + target->HTCInitInfo.TargetSendSuspendComplete((void *)&wow_nack); break; } |
