summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);