summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGanesh Babu Kumaravel <kganesh@qti.qualcomm.com>2014-03-10 15:55:35 +0530
committerAkash Patel <c_akashp@qca.qualcomm.com>2014-03-11 18:03:44 -0700
commit5d43c2cf4eeeaaf33bcaa3f0de86a312123de4e0 (patch)
tree4b79ed5bbd1cc68aa1e41b8cc6f30b97c11aa6de
parent6afeb8200a2a3ca73142036b1e0da06806ed5156 (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.c6
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;
}