diff options
| author | Naveen Rawat <naveenrawat@codeaurora.org> | 2016-10-24 15:36:56 -0700 |
|---|---|---|
| committer | qcabuildsw <qcabuildsw@localhost> | 2016-10-25 21:57:46 -0700 |
| commit | 224ae9c025558fc8a379ead284824c39482aff4e (patch) | |
| tree | 956d4bb399949f1b78548637e2c6ba32a9bf79a6 | |
| parent | ba4f59d18547bca5fbbef7bc883a5c0455c9b81e (diff) | |
qcacld-3.0: Send ASSOC_IEs only in connected state
In function csr_roam_offload_scan do not populate ASSOC IE(which are only
required in connected_state) in a non-connected state. Otherwise it will
access connected BSS descriptor which is not avaiable in non-connected state.
Change-Id: I9cb0b6f6a49b25c2bd74c5e2140e8fe8919f3f44
CRs-Fixed: 1081198
| -rw-r--r-- | core/sme/src/csr/csr_api_roam.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index 784477f223cb..547ae03fe3f7 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -17541,14 +17541,14 @@ static void csr_update_driver_assoc_ies(tpAniSirGlobal mac_ctx, = (uint8_t *) &mac_ctx->rrm.rrmPEContext.rrmEnabledCaps; uint8_t power_cap_ie_data[DOT11F_IE_POWERCAPS_MAX_LEN] = {MIN_TX_PWR_CAP, MAX_TX_PWR_CAP}; - uint8_t max_tx_pwr_cap - = csr_get_cfg_max_tx_power(mac_ctx, - session->pConnectBssDesc->channelId); - + uint8_t max_tx_pwr_cap = 0; uint8_t supp_chan_ie[DOT11F_IE_SUPPCHANNELS_MAX_LEN], supp_chan_ie_len; uint8_t ese_ie[DOT11F_IE_ESEVERSION_MAX_LEN] = { 0x0, 0x40, 0x96, 0x3, ESE_VERSION_SUPPORTED}; + if (session->pConnectBssDesc) + max_tx_pwr_cap = csr_get_cfg_max_tx_power(mac_ctx, + session->pConnectBssDesc->channelId); if (max_tx_pwr_cap) power_cap_ie_data[1] = max_tx_pwr_cap; @@ -17661,11 +17661,13 @@ csr_roam_offload_scan(tpAniSirGlobal mac_ctx, uint8_t session_id, /* * The Dynamic Config Items Update may happen even if the state is in * INIT. It is important to ensure that the command is passed down to - * the FW only if the Infra Station is in a connected state.A connected - * station could also be in a PREAUTH or REASSOC states.So, consider not - * sending the command down in INIT state. We also have to ensure that - * if there is a STOP command we always have to inform Riva, - * irrespective of whichever state we are in + * the FW only if the Infra Station is in a connected state. A connected + * station could also be in a PREAUTH or REASSOC states. + * 1) Block all CMDs that are not STOP in INIT State. For STOP always + * inform firmware irrespective of state. + * 2) Block update cfg CMD if its for REASON_ROAM_SET_BLACKLIST_BSSID, + * because we need to inform firmware of blacklisted AP for PNO in + * all states. */ if ((roam_info->neighborRoamState == |
