Browse Source

qcacld-3.0: Fix the timeout handler to handle add bss timeout

Fix the timeout handler to handle add bss request timeout.

wma_hold_req_timer is not defined to handle WMA_ADD_BSS_REQ. When
WMA_ADD_BSS_REQ times out, no response is sent back to SME which
results in SME command queue stuck. This change set will enable
wma_hold_req_timer to handle add bss request timeout.

Change-Id: I55ec44acafc3af717458134340075b55bca7cddf
CRs-Fixed: 975400
Krishna Kumaar Natarajan 9 years ago
parent
commit
f1d6deee43
1 changed files with 11 additions and 0 deletions
  1. 11 0
      core/wma/src/wma_dev_if.c

+ 11 - 0
core/wma/src/wma_dev_if.c

@@ -2157,6 +2157,13 @@ void wma_hold_req_timer(void *data)
 		WMA_LOGD(FL("Sending add sta rsp to umac (mac:%pM, status:%d)"),
 			 params->staMac, params->status);
 		wma_send_msg(wma, WMA_ADD_STA_RSP, (void *)params, 0);
+	} else if (tgt_req->msg_type == WMA_ADD_BSS_REQ) {
+		tpAddBssParams  params = (tpAddBssParams) tgt_req->user_data;
+		params->status = QDF_STATUS_E_TIMEOUT;
+		WMA_LOGA(FL("WMA_ADD_BSS_REQ timed out"));
+		WMA_LOGD(FL("Sending add bss rsp to umac (mac:%pM, status:%d)"),
+			params->selfMacAddr, params->status);
+		wma_send_msg(wma, WMA_ADD_BSS_RSP, (void *)params, 0);
 	} else if ((tgt_req->msg_type == WMA_DELETE_STA_REQ) &&
 		(tgt_req->type == WMA_DELETE_STA_RSP_START)) {
 		tpDeleteStaParams params =
@@ -2175,6 +2182,10 @@ void wma_hold_req_timer(void *data)
 		(tgt_req->type == WMA_DEL_P2P_SELF_STA_RSP_START)) {
 		WMA_LOGA(FL("wma delete sta p2p request timed out"));
 		QDF_ASSERT(0);
+	} else {
+		WMA_LOGE(FL("Unhandled timeout for msg_type:%d and type:%d"),
+				tgt_req->msg_type, tgt_req->type);
+		QDF_BUG(0);
 	}
 free_tgt_req:
 	qdf_mc_timer_destroy(&tgt_req->event_timeout);