Bladeren bron

qcacld-3.0: Prioritize connection req frames in pe queue

qcacld-2.0 to qcacld-3.0 propagation

If there are many beacon/probe received and posted to pe queue
the connection req frames may get delayed and thus effect the
connection. This may also lead to connection failures.

To avoid this prioritize the connection req frames in pe queue.

Change-Id: I5a6fd5c21242205dd080b2ba0cff5f823f51d109
CRs-Fixed: 2013381
Abhishek Singh 8 jaren geleden
bovenliggende
commit
9e42cff3c5
1 gewijzigde bestanden met toevoegingen van 13 en 2 verwijderingen
  1. 13 2
      core/mac/src/sys/legacy/src/system/src/sys_entry_func.c

+ 13 - 2
core/mac/src/sys/legacy/src/system/src/sys_entry_func.c

@@ -180,8 +180,19 @@ sys_bbt_process_message_core(tpAniSirGlobal mac_ctx, struct scheduler_msg *msg,
 				mac_ctx->sys.gSysFrameCount[type][subtype]);
 		}
 
-		/* Post the message to PE Queue */
-		ret = (tSirRetStatus) lim_post_msg_api(mac_ctx, msg);
+		/*
+		 * Post the message to PE Queue. Prioritize the
+		 * Auth and assoc frames.
+		 */
+		if ((subtype == SIR_MAC_MGMT_AUTH) ||
+		   (subtype == SIR_MAC_MGMT_ASSOC_RSP) ||
+		   (subtype == SIR_MAC_MGMT_REASSOC_RSP) ||
+		   (subtype == SIR_MAC_MGMT_ASSOC_REQ) ||
+		   (subtype == SIR_MAC_MGMT_REASSOC_REQ))
+			ret = (tSirRetStatus)
+				   lim_post_msg_high_priority(mac_ctx, msg);
+		else
+			ret = (tSirRetStatus) lim_post_msg_api(mac_ctx, msg);
 		if (ret != eSIR_SUCCESS) {
 			sys_log(mac_ctx, LOGE,
 				FL("posting to LIM2 failed, ret %d\n"), ret);