Browse Source

qcacld-3.0: Post Set key with high priority to lim

If pe queue contain management frame and set key cmd is sent as low
priority the set key may timeout.

Thus to fix this post set key with high priority to lim,
so that it can be processed in priority.

Change-Id: I31e346da6662ab56f268f94260ed0f169b8f182b
CRs-Fixed: 2056378
Abhishek Singh 7 năm trước cách đây
mục cha
commit
154637ac11

+ 2 - 2
core/mac/src/pe/lim/lim_process_message_queue.c

@@ -958,8 +958,8 @@ lim_handle80211_frames(tpAniSirGlobal pMac, struct scheduler_msg *limMsg,
 			psessionEntry = pe_find_session_by_peer_sta(pMac,
 						pHdr->sa, &sessionId);
 			if (psessionEntry == NULL) {
-				pe_debug("SessionId does not exist for Bssid");
-				lim_print_mac_addr(pMac, pHdr->sa, LOG3);
+				pe_debug("session does not exist for bssId");
+				lim_print_mac_addr(pMac, pHdr->sa, LOGD);
 				goto end;
 			} else {
 				pe_debug("SessionId:%d exists for given Bssid",

+ 7 - 1
core/sme/src/csr/csr_api_roam.c

@@ -15238,6 +15238,7 @@ QDF_STATUS csr_send_mb_set_context_req_msg(tpAniSirGlobal pMac,
 					   uint8_t *pKeyRsc)
 {
 	tSirSmeSetContextReq *pMsg;
+	struct scheduler_msg msg = {0};
 	uint16_t msgLen;
 	QDF_STATUS status = QDF_STATUS_E_FAILURE;
 	tCsrRoamSession *pSession = CSR_GET_SESSION(pMac, sessionId);
@@ -15289,7 +15290,12 @@ QDF_STATUS csr_send_mb_set_context_req_msg(tpAniSirGlobal pMac,
 		if (keyLength && pKey)
 			qdf_mem_copy(pMsg->keyMaterial.key[0].key,
 					pKey, keyLength);
-		status = umac_send_mb_message_to_mac(pMsg);
+
+		msg.type = eWNI_SME_SETCONTEXT_REQ;
+		msg.bodyptr = pMsg;
+		status = scheduler_post_msg_by_priority(QDF_MODULE_ID_PE, &msg, true);
+		if (QDF_IS_STATUS_ERROR(status))
+			qdf_mem_free(pMsg);
 	} while (0);
 	return status;
 }