qcacld-3.0: Support to configure RM enabled capability IE
qcacld-2.0 to qcacld-3.0 propagation
Add support to configure RM enabled capbility information element
through INI.
Using the introduced INI config option(rm_capability), we can set
or unset any bit in the IE. Default value for the config parameter
is set based on rrmInitialize routine.
Change-Id: Ia2a4352760db77ab71dad4757eb603d7539ffefa
CRs-Fixed: 918667
diff --git a/core/mac/src/pe/lim/lim_process_sme_req_messages.c b/core/mac/src/pe/lim/lim_process_sme_req_messages.c
index b06e32d..6bae1cc 100644
--- a/core/mac/src/pe/lim/lim_process_sme_req_messages.c
+++ b/core/mac/src/pe/lim/lim_process_sme_req_messages.c
@@ -56,12 +56,10 @@
#include "lim_api.h"
#include "wmm_apsd.h"
#include "sir_mac_prot_def.h"
+#include "rrm_api.h"
#include "sap_api.h"
-#if defined WLAN_FEATURE_VOWIFI
-#include "rrm_api.h"
-#endif
#if defined WLAN_FEATURE_VOWIFI_11R
#include <lim_ft.h>
@@ -1575,23 +1573,6 @@
#endif /* FEATURE_WLAN_DIAG_SUPPORT */
lim_log(mac_ctx, LOG1, FL("Received SME_JOIN_REQ"));
-#ifdef WLAN_FEATURE_VOWIFI
- /*
- * Need to read the CFG here itself as this is
- * used in limExtractAPCapability() below.
- * This CFG is actually read in rrm_update_config()
- * which is called later. Because this is not
- * read, RRM related path before calling rrm_update_config()
- * is not getting executed causing issues
- * like not honoring power constraint on 1st association
- * after driver loading.
- */
- if (wlan_cfg_get_int(mac_ctx, WNI_CFG_RRM_ENABLED, &val) !=
- eSIR_SUCCESS)
- lim_log(mac_ctx, LOGP, FL("cfg get rrm enabled failed"));
- mac_ctx->rrm.rrmPEContext.rrmEnable = (val) ? 1 : 0;
- val = 0;
-#endif /* WLAN_FEATURE_VOWIFI */
/*
* Expect Join request in idle state.
@@ -1624,9 +1605,16 @@
goto end;
}
+ /*
+ * Update the capability here itself as this is used in
+ * lim_extract_ap_capability() below. If not updated issues
+ * like not honoring power constraint on 1st association after
+ * driver loading might occur.
+ */
+ lim_update_rrm_capability(mac_ctx, sme_join_req);
+
bss_desc = sme_join_req->bssDescription;
/* check for the existence of start BSS session */
-
session = pe_find_session_by_bssid(mac_ctx, bss_desc.bssId,
&session_id);
@@ -4497,10 +4485,10 @@
rrm_process_neighbor_report_req(pMac, pMsg->bodyptr);
break;
case eWNI_SME_BEACON_REPORT_RESP_XMIT_IND:
- {
rrm_process_beacon_report_xmit(pMac, pMsg->bodyptr);
- }
- break;
+ break;
+ default:
+ lim_log(pMac, LOGE, FL("Invalid msg type:%d"), pMsg->type);
}
#endif
}