Wlan: Extended IBSS feature on prima
Changes to enable extended IBSS feature on prima open
source branch.
Change-Id: Iacaad2627d241fa6b71717d0cfbba960f0fd5d5f
CRs-Fixed: 766181
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index 7a90c29..0035c65 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -15132,6 +15132,9 @@
tCsrRoamProfile *pRoamProfile;
hdd_context_t *pHddCtx = WLAN_HDD_GET_CTX(pAdapter);
int status;
+#ifdef WLAN_FEATURE_RMC
+ tANI_U8 addIE[WNI_CFG_PROBE_RSP_BCN_ADDNIE_DATA_LEN] = {0};
+#endif
ENTER();
@@ -15164,6 +15167,41 @@
return -EINVAL;
}
+#ifdef WLAN_FEATURE_RMC
+ /* Clearing add IE of beacon */
+ if (ccmCfgSetStr(pHddCtx->hHal,
+ WNI_CFG_PROBE_RSP_BCN_ADDNIE_DATA, &addIE[0],
+ WNI_CFG_PROBE_RSP_BCN_ADDNIE_DATA_LEN,
+ NULL, eANI_BOOLEAN_FALSE) != eHAL_STATUS_SUCCESS)
+ {
+ hddLog (VOS_TRACE_LEVEL_ERROR,
+ "%s: unable to clear PROBE_RSP_BCN_ADDNIE_DATA", __func__);
+ return -EINVAL;
+ }
+ if (ccmCfgSetInt(pHddCtx->hHal,
+ WNI_CFG_PROBE_RSP_BCN_ADDNIE_FLAG, 0, NULL,
+ eANI_BOOLEAN_FALSE) != eHAL_STATUS_SUCCESS)
+ {
+ hddLog (VOS_TRACE_LEVEL_ERROR,
+ "%s: unable to clear WNI_CFG_PROBE_RSP_BCN_ADDNIE_FLAG",
+ __func__);
+ return -EINVAL;
+ }
+
+ // Reset WNI_CFG_PROBE_RSP Flags
+ wlan_hdd_reset_prob_rspies(pAdapter);
+
+ if (ccmCfgSetInt(WLAN_HDD_GET_HAL_CTX(pAdapter),
+ WNI_CFG_PROBE_RSP_ADDNIE_FLAG, 0,NULL,
+ eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
+ {
+ hddLog (VOS_TRACE_LEVEL_ERROR,
+ "%s: unable to clear WNI_CFG_PROBE_RSP_ADDNIE_FLAG",
+ __func__);
+ return -EINVAL;
+ }
+#endif
+
/* Issue Disconnect request */
INIT_COMPLETION(pAdapter->disconnect_comp_var);
sme_RoamDisconnect( WLAN_HDD_GET_HAL_CTX(pAdapter), pAdapter->sessionId,
@@ -18442,7 +18480,6 @@
hddLog(VOS_TRACE_LEVEL_INFO,
"tdls send discover req: "MAC_ADDRESS_STR,
MAC_ADDR_ARRAY(peer));
-
#if TDLS_MGMT_VERSION2
return wlan_hdd_cfg80211_tdls_mgmt(wiphy, dev, peer,
WLAN_TDLS_DISCOVERY_REQUEST, 1, 0, 0, NULL, 0);