瀏覽代碼

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
Prakash Dhavali 8 年之前
父節點
當前提交
0b7927416b
共有 1 個文件被更改,包括 7 次插入4 次删除
  1. 7 4
      core/wma/src/wma_dev_if.c

+ 7 - 4
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)",