From 0b7927416b3ef26c54acfd2ba4d9b3a41335aaf4 Mon Sep 17 00:00:00 2001 From: Prakash Dhavali Date: Fri, 2 Dec 2016 17:56:36 -0800 Subject: [PATCH] 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 d8ea0ecf524a..261b07803b0b 100644 --- a/core/wma/src/wma_dev_if.c +++ b/core/wma/src/wma_dev_if.c @@ -2537,6 +2537,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 { @@ -2586,10 +2592,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)",