소스 검색

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