summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorService qcabuildsw <qcabuildsw@localhost>2016-07-21 15:30:41 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-07-21 15:30:41 -0700
commiteec666d66dddd2a1a5cc6f28da41ec80a9929a82 (patch)
treed433ea7fb2c6364a8a7aa317cece9df348578624
parenta6a74235c493760e3499b3e78e139464095fa37d (diff)
parent696a930c25f7acbe5d14e68404b8e16a79ba30f8 (diff)
Merge "qcacld-3.0: Fix start BSS failure" into wlan-cld3.driver.lnx.1.1-dev
-rw-r--r--core/sme/src/csr/csr_api_roam.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c
index dadf022d33f8..a6e6cb86358a 100644
--- a/core/sme/src/csr/csr_api_roam.c
+++ b/core/sme/src/csr/csr_api_roam.c
@@ -5073,7 +5073,7 @@ static void csr_roam_join_handle_profile(tpAniSirGlobal mac_ctx,
else
ies_local = scan_result->Result.pvIes;
- if (scan_result && !ies_local &&
+ if (scan_result && !ies_local && result &&
(!QDF_IS_STATUS_SUCCESS(
csr_get_parsed_bss_description_ies(
mac_ctx,
@@ -5083,20 +5083,22 @@ static void csr_roam_join_handle_profile(tpAniSirGlobal mac_ctx,
*roam_state = eCsrStopRoaming;
return;
}
- roam_info_ptr->pBssDesc = &result->BssDescriptor;
+ if (result)
+ roam_info_ptr->pBssDesc = &result->BssDescriptor;
cmd->u.roamCmd.pLastRoamBss = roam_info_ptr->pBssDesc;
/* dont put uapsd_mask if BSS doesn't support uAPSD */
if (scan_result && cmd->u.roamCmd.roamProfile.uapsd_mask
&& CSR_IS_QOS_BSS(ies_local)
&& CSR_IS_UAPSD_BSS(ies_local)) {
#ifndef WLAN_MDM_CODE_REDUCTION_OPT
- acm_mask = sme_qos_get_acm_mask(mac_ctx,
+ if (result)
+ acm_mask = sme_qos_get_acm_mask(mac_ctx,
&result->BssDescriptor, ies_local);
#endif /* WLAN_MDM_CODE_REDUCTION_OPT */
} else {
cmd->u.roamCmd.roamProfile.uapsd_mask = 0;
}
- if (ies_local && !result->pvIes)
+ if (ies_local && result && !result->pvIes)
qdf_mem_free(ies_local);
roam_info_ptr->pProfile = profile;
session->bRefAssocStartCnt++;
@@ -5267,14 +5269,8 @@ static eCsrJoinState csr_roam_join_next_bss(tpAniSirGlobal mac_ctx,
roam_info_ptr = &roam_info;
roam_info_ptr->u.pConnectedProfile = &session->connectedProfile;
- /*
- * result will be null if passed pRoamBssEntry is NULL, which
- * indicates we are done with all BSSs in list.
- */
- if (result != NULL)
- csr_roam_join_handle_profile(mac_ctx, session_id, cmd,
- roam_info_ptr, &roam_state,
- result, scan_result);
+ csr_roam_join_handle_profile(mac_ctx, session_id, cmd, roam_info_ptr,
+ &roam_state, result, scan_result);
end:
if ((eCsrStopRoaming == roam_state) && CSR_IS_INFRASTRUCTURE(profile) &&
(session->bRefAssocStartCnt > 0)) {