summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbhishek Singh <absingh@codeaurora.org>2017-03-09 16:09:33 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2017-03-17 12:07:18 -0700
commit360c5d590ec8ee27fa2aa1fd533159f9449f4230 (patch)
tree6c6a4e6b8532cf5205710b2477d1ff9f4fd05b7f
parente2be5043108964bf3f48d65cbb247dda30073ffa (diff)
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
-rw-r--r--core/mac/src/sys/legacy/src/system/src/sys_entry_func.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/core/mac/src/sys/legacy/src/system/src/sys_entry_func.c b/core/mac/src/sys/legacy/src/system/src/sys_entry_func.c
index 1a760459ac91..2df4bc7ef888 100644
--- a/core/mac/src/sys/legacy/src/system/src/sys_entry_func.c
+++ b/core/mac/src/sys/legacy/src/system/src/sys_entry_func.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -180,8 +180,19 @@ sys_bbt_process_message_core(tpAniSirGlobal mac_ctx, tpSirMsgQ 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);