From 0c2393cc6870eeda2fd888304b3e4fed2ea3d686 Mon Sep 17 00:00:00 2001 From: Bala Venkatesh Date: Mon, 1 Jul 2019 22:54:36 +0530 Subject: [PATCH] qcacld-3.0: Clear bss_status bit in case of del_bss_resp failure In case of WMA_DEL_STA_REQ timeout for type WMA_DELETE_BSS_RSP, directly del_bss response is posted to lim without clearing the bits like bss_status in wma. This can later lead to failure in del_sta_req of the self sta and self sta peer leak in the object manager. Hence, set the bss_status from started to stopped in case of del_bss failure. Change-Id: Ic68e6b7a59959392772fc2821d31a054778fe66b CRs-Fixed: 2478379 --- core/wma/src/wma_dev_if.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/wma/src/wma_dev_if.c b/core/wma/src/wma_dev_if.c index df9dd120331b..c36f4ee21e1a 100644 --- a/core/wma/src/wma_dev_if.c +++ b/core/wma/src/wma_dev_if.c @@ -3754,11 +3754,11 @@ void wma_hold_req_timer(void *data) params->status = QDF_STATUS_E_TIMEOUT; WMA_LOGE(FL("wma delete peer for del bss req timed out")); + if (wma_crash_on_fw_timeout(wma->fw_timeout_crash)) wma_trigger_recovery_assert_on_fw_timeout( WMA_DELETE_STA_REQ); - wma_send_msg_high_priority(wma, WMA_DELETE_BSS_RSP, - params, 0); + wma_send_vdev_down_bss(wma, tgt_req); } else if ((tgt_req->msg_type == SIR_HAL_PDEV_SET_HW_MODE) && (tgt_req->type == WMA_PDEV_SET_HW_MODE_RESP)) { struct sir_set_hw_mode_resp *params =