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
This commit is contained in:
parent
dcb2493c0b
commit
75aacddda2
|
@ -7769,9 +7769,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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue