summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVignesh Viswanathan <viswanat@codeaurora.org>2018-10-25 15:38:56 +0530
committernshrivas <nshrivas@codeaurora.org>2018-10-26 09:30:18 -0700
commitfc259c18a76af88c6db359574f25e4e8fff4027d (patch)
treebd98a3b03fdeab0121d436bac79ae74ef144f433
parent3609016aa613ec4454d96acc5ebd4322fa2d676e (diff)
qcacld-3.0: Send VDEV stop to the FW if ADD_BSS_REQ times out
Currently if ADD_BSS_REQ vdev_start request times out, the wma_vdev_resp_timer notifies this as ADD_BSS_RSP with failure status to the upper layer and the SAP FSM moves from STARTING to DISCONNECTED state. After this the WMA_DEL_STA_SELF_REQ is sent to the FW which does a VDEV delete. However in cases where the ADD_BSS_REQ has been sent to the FW but the response has not been received, the FW has the VDEV in started state and asserts if a VDEV delete is sent without sending a vdev stop. Send VDEV stop to the FW in case of ADD_BSS_REQ times our in wma_vdev_resp_timer. Change-Id: Ib2b95d38cb7fd36b02a738a73dbc1f8102d2169e CRs-Fixed: 2323293
-rw-r--r--core/wma/src/wma_dev_if.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/core/wma/src/wma_dev_if.c b/core/wma/src/wma_dev_if.c
index 940f2645b36c..5a1d90c515f6 100644
--- a/core/wma/src/wma_dev_if.c
+++ b/core/wma/src/wma_dev_if.c
@@ -3440,6 +3440,11 @@ void wma_vdev_resp_timer(void *data)
wma_trigger_recovery_assert_on_fw_timeout(
WMA_ADD_BSS_REQ);
} else {
+ /* Send vdev stop to the FW */
+ if (wma_send_vdev_stop_to_fw(wma, tgt_req->vdev_id))
+ WMA_LOGE("%s: Failed to send vdev stop to fw",
+ __func__);
+
peer = ol_txrx_find_peer_by_addr(pdev, params->bssId,
&peer_id);
if (peer)