diff options
| author | Service qcabuildsw <qcabuildsw@localhost> | 2016-07-21 15:30:41 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-07-21 15:30:41 -0700 |
| commit | eec666d66dddd2a1a5cc6f28da41ec80a9929a82 (patch) | |
| tree | d433ea7fb2c6364a8a7aa317cece9df348578624 | |
| parent | a6a74235c493760e3499b3e78e139464095fa37d (diff) | |
| parent | 696a930c25f7acbe5d14e68404b8e16a79ba30f8 (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.c | 20 |
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)) { |
