Просмотр исходного кода

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 лет назад
Родитель
Сommit
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)",