summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiangwei Dong <liangwei@qti.qualcomm.com>2016-06-03 17:53:15 +0800
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2016-06-07 16:32:56 +0530
commitfd0d60b18fd7b6df0564d31c3a487d76c2644e82 (patch)
tree42086700a2da5f47ab865be19801154f0c777653
parentf5e65e947acc993e66061acaea678fc3b60280ec (diff)
Revert "qcacld-2.0: Fix sme active list timeout casued by delete sta request"
This reverts commit I3228badf66eeef627d7d3ff632bac1e0c90df1e5. The orignal commit wants to fix below issue. In some corner cases, delete sta request processing wma handler didn't sent The response, the commands in active list will not be removed and timeout. In current code when plugging out TF USB card in wow mode, driver will crash due to double free the memory tpDelStaSelfParams. The first time memory free happens as below. When handling WDA_DEL_STA_SELF_REQ in wma_vdev_detach, tpDelStaSelfParams is saved to iface->del_staself_req since the vdev is still in started state. At the same time an event <WDA_DEL_STA_SELF_RSP> with parameter tpDelStaSelfParams is delivered, in which the tpDelStaSelfParams is freed. The second time memory free is in the wma_wmi_service_close since the iface->del_staself_req is not NULL. In normal case the iface->del_staself_req will be processed later in wma_vdev_stop_ind, then the <WDA_DEL_STA_SELF_RSP> event will be delivered in wma_vdev_detach_callback. The WDA_DEL_STA_SELF_RSP event delivery in wma_vdev_detach is unnecessary and duplicated. If revert this change, no crash happens when plugging out TF USB card in wow mode. Change-Id: Ib844dd88f3a8b4496f9878b8a1fcddd72acc6a57 CRs-Fixed: 1023548
-rw-r--r--CORE/SERVICES/WMA/wma.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c
index 514126103ff3..743f7a4bea60 100644
--- a/CORE/SERVICES/WMA/wma.c
+++ b/CORE/SERVICES/WMA/wma.c
@@ -8030,9 +8030,6 @@ static VOS_STATUS wma_vdev_detach(tp_wma_handle wma_handle,
WMA_LOGA("BSS is not yet stopped. Defering vdev(vdev id %x) deletion",
vdev_id);
iface->del_staself_req = pdel_sta_self_req_param;
- if (generateRsp)
- wma_send_msg(wma_handle, WDA_DEL_STA_SELF_RSP,
- (void *)pdel_sta_self_req_param, 0);
return status;
}