qcacld-3.0: Restrict FILS caps in ext cap to STA mode only

Currently, host driver sets FILS capability enable if broadcast
probe response support is enabled(i.e. g_enable_bcast_probe_rsp).
since this support adds FILS request params IE(which has the max
channel time STA would wait for AP to respond with broadcast probe
response) in probe request, FILS capability is set in ext cap.
However, it is also set in SAP role which leads to scan issues with
some client stations.

Restrict FILS caps in ext cap to STA role only if
g_enable_bcast_probe_rsp INI is set.

Change-Id: Ia5fc0cbf36a4a6df3eb21015ef0508f6daa7b21d
CRs-Fixed: 2048318
This commit is contained in:
Selvaraj, Sridhar
2017-05-17 12:17:03 +05:30
committed by snandini
parent be5fbc74ca
commit 05ea0791e3
5 changed files with 11 additions and 2 deletions

View File

@@ -1198,7 +1198,7 @@ typedef struct sSirSmeJoinReq {
tSirMacPowerCapInfo powerCap; tSirMacPowerCapInfo powerCap;
tSirSupChnl supportedChannels; tSirSupChnl supportedChannels;
tSirBssDescription bssDescription; tSirBssDescription bssDescription;
bool enable_bcast_probe_rsp;
} tSirSmeJoinReq, *tpSirSmeJoinReq; } tSirSmeJoinReq, *tpSirSmeJoinReq;
/* / Definition for reponse message to previously issued join request */ /* / Definition for reponse message to previously issued join request */

View File

@@ -514,6 +514,7 @@ typedef struct sPESession /* Added to Support BT-AMP */
uint8_t bss_color_changing; uint8_t bss_color_changing;
#endif #endif
#endif #endif
bool enable_bcast_probe_rsp;
} tPESession, *tpPESession; } tPESession, *tpPESession;
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------

View File

@@ -1635,6 +1635,9 @@ __lim_process_sme_join_req(tpAniSirGlobal mac_ctx, uint32_t *msg_buf)
session->limQosEnabled = sme_join_req->isQosEnabled; session->limQosEnabled = sme_join_req->isQosEnabled;
session->wps_registration = sme_join_req->wps_registration; session->wps_registration = sme_join_req->wps_registration;
session->enable_bcast_probe_rsp =
sme_join_req->enable_bcast_probe_rsp;
/* Store vendor specfic IE for CISCO AP */ /* Store vendor specfic IE for CISCO AP */
ie_len = (bss_desc->length + sizeof(bss_desc->length) - ie_len = (bss_desc->length + sizeof(bss_desc->length) -
GET_FIELD_OFFSET(tSirBssDescription, ieFields)); GET_FIELD_OFFSET(tSirBssDescription, ieFields));

View File

@@ -1204,7 +1204,7 @@ populate_dot11f_ext_cap(tpAniSirGlobal pMac,
#endif #endif
p_ext_cap->ext_chan_switch = 1; p_ext_cap->ext_chan_switch = 1;
if (pMac->roam.configParam.enable_bcast_probe_rsp) if (psessionEntry && psessionEntry->enable_bcast_probe_rsp)
p_ext_cap->fils_capability = 1; p_ext_cap->fils_capability = 1;
/* Need to calulate the num_bytes based on bits set */ /* Need to calulate the num_bytes based on bits set */

View File

@@ -14675,6 +14675,11 @@ QDF_STATUS csr_send_join_req_msg(tpAniSirGlobal pMac, uint32_t sessionId,
status = QDF_STATUS_E_FAILURE; status = QDF_STATUS_E_FAILURE;
break; break;
} }
if (pSession->pCurRoamProfile->csrPersona == QDF_STA_MODE)
csr_join_req->enable_bcast_probe_rsp =
pMac->roam.configParam.enable_bcast_probe_rsp;
status = umac_send_mb_message_to_mac(csr_join_req); status = umac_send_mb_message_to_mac(csr_join_req);
if (!QDF_IS_STATUS_SUCCESS(status)) { if (!QDF_IS_STATUS_SUCCESS(status)) {
/* /*