qcacld-3.0: Remove unnecessary lock from sme_roam_free_connect_profile

Remove unnecessary acquiring of SME lock in sme_roam_free_connect_profile
since this function does not access any SME structures.

Change-Id: I0ddafc4276ef5028b48fda0ae3ea4e6a0c23245e
CRs-Fixed: 958839
This commit is contained in:
Naveen Rawat 2016-01-06 18:35:53 -08:00 • committed by Akash Patel
commit 01c7dd9c4e
7 changed files with 28 additions and 57 deletions

View file

@ -1480,7 +1480,7 @@ static void hdd_send_re_assoc_event(struct net_device *dev,
rspRsnIe, rspRsnLength,
pCsrRoamInfo);
done:
sme_roam_free_connect_profile(hal_handle, &roam_profile);
sme_roam_free_connect_profile(&roam_profile);
if (final_req_ie)
kfree(final_req_ie);
kfree(rspRsnIe);

View file

@ -7470,7 +7470,7 @@ struct cfg80211_bss *wlan_hdd_cfg80211_update_bss_db(hdd_adapter_t *pAdapter,
hddLog(LOG1,
FL("wlan_hdd_cfg80211_inform_bss_frame returned NULL"));
sme_roam_free_connect_profile(hHal, &roamProfile);
sme_roam_free_connect_profile(&roamProfile);
} else {
hddLog(LOGE, FL("roamProfile.pBssDesc is NULL"));
}

View file

@ -293,8 +293,7 @@ CDF_STATUS sme_roam_get_connect_state(tHalHandle hHal, uint8_t sessionId,
eCsrConnectState *pState);
CDF_STATUS sme_roam_get_connect_profile(tHalHandle hHal, uint8_t sessionId,
tCsrRoamConnectedProfile *pProfile);
CDF_STATUS sme_roam_free_connect_profile(tHalHandle hHal,
tCsrRoamConnectedProfile *pProfile);
void sme_roam_free_connect_profile(tCsrRoamConnectedProfile *profile);
CDF_STATUS sme_roam_set_pmkid_cache(tHalHandle hHal, uint8_t sessionId,
tPmkidCacheInfo *pPMKIDCache,
uint32_t numItems,

View file

@ -3931,31 +3931,20 @@ CDF_STATUS sme_roam_get_connect_profile(tHalHandle hHal, uint8_t sessionId,
return status;
}
/* ---------------------------------------------------------------------------
\fn sme_roam_free_connect_profile
\brief a wrapper function to request CSR to free and reinitialize the
profile returned previously by csr_roam_get_connect_profile.
This is a synchronous call.
\param pProfile - pointer to a caller allocated structure
tCsrRoamConnectedProfile
\return CDF_STATUS.
---------------------------------------------------------------------------*/
CDF_STATUS sme_roam_free_connect_profile(tHalHandle hHal,
tCsrRoamConnectedProfile *pProfile)
/**
* sme_roam_free_connect_profile - a wrapper function to request CSR to free and
* reinitialize the profile returned previously by csr_roam_get_connect_profile.
*
* @profile - pointer to a caller allocated structure tCsrRoamConnectedProfile
*
* Return: none
*/
void sme_roam_free_connect_profile(tCsrRoamConnectedProfile *profile)
{
CDF_STATUS status = CDF_STATUS_E_FAILURE;
tpAniSirGlobal pMac = PMAC_STRUCT(hHal);
MTRACE(cdf_trace(CDF_MODULE_ID_SME,
TRACE_CODE_SME_RX_HDD_ROAM_FREE_CONNECTPROFILE,
NO_SESSION, 0));
status = sme_acquire_global_lock(&pMac->sme);
if (CDF_IS_STATUS_SUCCESS(status)) {
status = csr_roam_free_connect_profile(pMac, pProfile);
sme_release_global_lock(&pMac->sme);
}
return status;
csr_roam_free_connect_profile(profile);
}
/* ---------------------------------------------------------------------------

View file

@ -1075,21 +1075,14 @@ CDF_STATUS csr_roam_get_connect_profile(tpAniSirGlobal pMac, uint32_t sessionId,
return status;
}
CDF_STATUS csr_roam_free_connect_profile(tpAniSirGlobal pMac,
tCsrRoamConnectedProfile *pProfile)
void csr_roam_free_connect_profile(tCsrRoamConnectedProfile *profile)
{
CDF_STATUS status = CDF_STATUS_SUCCESS;
if (pProfile->pBssDesc) {
cdf_mem_free(pProfile->pBssDesc);
}
if (pProfile->pAddIEAssoc) {
cdf_mem_free(pProfile->pAddIEAssoc);
}
cdf_mem_set(pProfile, sizeof(tCsrRoamConnectedProfile), 0);
pProfile->AuthType = eCSR_AUTH_TYPE_UNKNOWN;
return status;
if (profile->pBssDesc)
cdf_mem_free(profile->pBssDesc);
if (profile->pAddIEAssoc)
cdf_mem_free(profile->pAddIEAssoc);
cdf_mem_set(profile, sizeof(tCsrRoamConnectedProfile), 0);
profile->AuthType = eCSR_AUTH_TYPE_UNKNOWN;
}
static CDF_STATUS csr_roam_free_connected_info(tpAniSirGlobal pMac,
@ -5759,8 +5752,7 @@ static void csr_roam_process_results_default(tpAniSirGlobal mac_ctx,
* to send down stop BSS later
*/
csr_free_connect_bss_desc(mac_ctx, session_id);
csr_roam_free_connect_profile(mac_ctx,
&session->connectedProfile);
csr_roam_free_connect_profile(&session->connectedProfile);
csr_roam_free_connected_info(mac_ctx, &session->connectedInfo);
csr_set_default_dot11_mode(mac_ctx);
}
@ -6003,10 +5995,8 @@ static void csr_roam_process_start_bss_success(tpAniSirGlobal mac_ctx,
session_id);
}
csr_roam_save_connected_bss_desc(mac_ctx, session_id, bss_desc);
csr_roam_free_connect_profile(mac_ctx,
&session->connectedProfile);
csr_roam_free_connected_info(mac_ctx,
&session->connectedInfo);
csr_roam_free_connect_profile(&session->connectedProfile);
csr_roam_free_connected_info(mac_ctx, &session->connectedInfo);
if (bss_desc) {
csr_roam_save_connected_infomation(mac_ctx, session_id,
profile, bss_desc, ies_ptr);
@ -15091,7 +15081,7 @@ void csr_cleanup_session(tpAniSirGlobal pMac, uint32_t sessionId)
sme_ft_close(pMac, sessionId);
#endif
csr_free_connect_bss_desc(pMac, sessionId);
csr_roam_free_connect_profile(pMac, &pSession->connectedProfile);
csr_roam_free_connect_profile(&pSession->connectedProfile);
csr_roam_free_connected_info(pMac, &pSession->connectedInfo);
cdf_mc_timer_destroy(&pSession->hTimerRoaming);
#ifdef FEATURE_WLAN_BTAMP_UT_RF
@ -15151,7 +15141,7 @@ static void csr_init_session(tpAniSirGlobal pMac, uint32_t sessionId)
pSession->pContext = NULL;
pSession->connectState = eCSR_ASSOC_STATE_TYPE_NOT_CONNECTED;
csr_free_roam_profile(pMac, sessionId);
csr_roam_free_connect_profile(pMac, &pSession->connectedProfile);
csr_roam_free_connect_profile(&pSession->connectedProfile);
csr_roam_free_connected_info(pMac, &pSession->connectedInfo);
csr_free_connect_bss_desc(pMac, sessionId);
csr_scan_enable(pMac);

View file

@ -836,14 +836,7 @@ CDF_STATUS csr_roam_get_connect_profile(tpAniSirGlobal pMac, uint32_t sessionId,
CDF_STATUS csr_roam_get_connect_state(tpAniSirGlobal pMac, uint32_t sessionId,
eCsrConnectState *pState);
/* ---------------------------------------------------------------------------
\fn csr_roam_free_connect_profile
\brief To free and reinitialize the profile return previous by csr_roam_get_connect_profile.
\param pProfile - pointer to a caller allocated structure tCsrRoamConnectedProfile
\return CDF_STATUS.
-------------------------------------------------------------------------------*/
CDF_STATUS csr_roam_free_connect_profile(tpAniSirGlobal pMac,
tCsrRoamConnectedProfile *pProfile);
void csr_roam_free_connect_profile(tCsrRoamConnectedProfile *profile);
/* ---------------------------------------------------------------------------
\fn csr_apply_channel_and_power_list

View file

@ -2272,7 +2272,7 @@ CDF_STATUS csr_neighbor_roam_indicate_disconnect(tpAniSirGlobal pMac,
* Free the current previous profile and move
* the current profile to prev profile.
*/
csr_roam_free_connect_profile(pMac, pPrevProfile);
csr_roam_free_connect_profile(pPrevProfile);
csr_roam_copy_connect_profile(pMac, sessionId, pPrevProfile);
/*
* clear the roaming parameters that are per connection.
@ -2890,7 +2890,7 @@ void csr_neighbor_roam_close(tpAniSirGlobal pMac, uint8_t sessionId)
/* Free the profile.. */
csr_release_profile(pMac, &pNeighborRoamInfo->csrNeighborRoamProfile);
csr_roam_free_connect_profile(pMac, &pNeighborRoamInfo->prevConnProfile);
csr_roam_free_connect_profile(&pNeighborRoamInfo->prevConnProfile);
#ifdef WLAN_FEATURE_VOWIFI_11R
pNeighborRoamInfo->FTRoamInfo.currentNeighborRptRetryNum = 0;
pNeighborRoamInfo->FTRoamInfo.numBssFromNeighborReport = 0;