From d9d7d94894832dd2ded300ad9df1380569cd53d9 Mon Sep 17 00:00:00 2001 From: Sandeep Puligilla Date: Fri, 2 Dec 2016 17:56:36 -0800 Subject: qcacld-3.0: Trigger host crash immediately after timeout Currently host sends vdev delete as part of vdev stop timeout handling which can change internal states in firmware. So trigger crash immediately once timeout is detected. Change-Id: Iab2aa4324f7cff493c2cf5d0e1a059970d455b23 CRs-Fixed: 1097007 --- core/wma/src/wma_dev_if.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/core/wma/src/wma_dev_if.c b/core/wma/src/wma_dev_if.c index e1e949e69d39..38d6ac431cf0 100644 --- a/core/wma/src/wma_dev_if.c +++ b/core/wma/src/wma_dev_if.c @@ -2519,6 +2519,12 @@ void wma_vdev_resp_timer(void *data) qdf_mc_timer_stop(&tgt_req->event_timeout); goto free_tgt_req; } + /* Trigger host crash when vdev response timesout */ + if (wma->fw_timeout_crash == true) { + BUG_ON(1); + return; + } + if (wma_is_vdev_in_ibss_mode(wma, tgt_req->vdev_id)) wma_delete_all_ibss_peers(wma, tgt_req->vdev_id); else { @@ -2568,10 +2574,7 @@ void wma_vdev_resp_timer(void *data) } params->status = QDF_STATUS_E_TIMEOUT; WMA_LOGA("%s: WMA_DELETE_BSS_REQ timedout", __func__); - if (wma->fw_timeout_crash == true) - BUG_ON(1); - else - wma_send_msg(wma, WMA_DELETE_BSS_RSP, + wma_send_msg(wma, WMA_DELETE_BSS_RSP, (void *)params, 0); if (iface->del_staself_req) { WMA_LOGA("scheduling defered deletion(vdev id %x)", -- cgit v1.2.3