qcacld-3.0: Purge scan result inside csr_roam_issue_connect always

Currently in function csr_roam_issue_connect, if queue sme command
fail, the scan result will be purged by csr_release_command_roam(), but
some caller will also purge it again if don't return success status,
like csr_roam_connect().

Make csr_roam_issue_connect() to consume hBSSList always, and remove
double purging code in the callers.

Change-Id: If226ff300771ccbf1dcbfb2a82fb02498c334cdc
CRs-Fixed: 2237948
This commit is contained in:
Will Huang
2018-05-11 10:48:03 +08:00
committed by nshrivas
szülő 04476d6eb8
commit 8e8d300e2c
2 fájl változott, egészen pontosan 6 új sor hozzáadva és 2 régi sor törölve

Fájl megtekintése

@@ -8537,6 +8537,7 @@ QDF_STATUS csr_roam_issue_connect(tpAniSirGlobal pMac, uint32_t sessionId,
pCommand = csr_get_command_buffer(pMac);
if (NULL == pCommand) {
csr_scan_result_purge(pMac, hBSSList);
sme_err(" fail to get command buffer");
status = QDF_STATUS_E_RESOURCES;
} else {
@@ -8900,7 +8901,6 @@ QDF_STATUS csr_roam_connect(tpAniSirGlobal pMac, uint32_t sessionId,
if (!QDF_IS_STATUS_SUCCESS(status)) {
sme_err("CSR failed to issue connect cmd with status: 0x%08X",
status);
csr_scan_result_purge(pMac, hBSSList);
fCallCallback = true;
}
} else if (NULL != pProfile) {
@@ -9080,7 +9080,6 @@ static QDF_STATUS csr_roam_join_last_profile(tpAniSirGlobal pMac,
pProfile, hBSSList, eCsrHddIssued,
roamId, false, false);
if (!QDF_IS_STATUS_SUCCESS(status)) {
csr_scan_result_purge(pMac, hBSSList);
goto end;
}
} else {
@@ -21027,6 +21026,10 @@ QDF_STATUS csr_issue_stored_joinreq(tpAniSirGlobal mac_ctx,
new_roam_id,
sta_session->stored_roam_profile.imediate_flag,
sta_session->stored_roam_profile.clear_flag);
sta_session->stored_roam_profile.bsslist_handle =
CSR_INVALID_SCANRESULT_HANDLE;
if (QDF_STATUS_SUCCESS != status) {
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
FL

Fájl megtekintése

@@ -963,6 +963,7 @@ QDF_STATUS csr_scan_handle_search_for_ssid(tpAniSirGlobal mac_ctx,
hBSSList, eCsrHddIssued,
session->scan_info.roam_id,
true, true);
hBSSList = CSR_INVALID_SCANRESULT_HANDLE;
} while (0);
if (!QDF_IS_STATUS_SUCCESS(status)) {