Prechádzať zdrojové kódy

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 rokov pred
rodič
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;
 }