summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbings <bings@codeaurora.org>2017-03-15 01:18:02 +0800
committerSandeep Puligilla <spuligil@codeaurora.org>2017-03-20 21:15:28 -0700
commitb10c832d4659fe5506e0ecd3cee8c3db04c37be8 (patch)
treeae7b52463ed7ed7886455fac14903cc6e7681613
parent8a4c25b3fd8021b4f4d78fc407a9e4e31c72922b (diff)
qcacld-3.0: Fix invalid peer local id in sap start bss
qcacld-2.0 to qcacld-3.0 propagation Currently when cac ends, it will trigger eSAP_START_BSS_EVENT with peer local id 0. If there is no peer with 0 local id, sap starts fails. Actually valid peer local id should be saved in sap context, so it can be used in sap_signal_hdd_event. Change-Id: I3779cb181390650844475b1a2f18768cb5784cf2 CRs-Fixed: 1096534
-rw-r--r--core/sap/src/sap_api_link_cntl.c1
-rw-r--r--core/sap/src/sap_fsm.c5
-rw-r--r--core/sap/src/sap_internal.h1
3 files changed, 3 insertions, 4 deletions
diff --git a/core/sap/src/sap_api_link_cntl.c b/core/sap/src/sap_api_link_cntl.c
index 16a134d5bcd2..de4b2a994db2 100644
--- a/core/sap/src/sap_api_link_cntl.c
+++ b/core/sap/src/sap_api_link_cntl.c
@@ -1141,6 +1141,7 @@ wlansap_roam_callback(void *ctx, tCsrRoamInfo *csr_roam_info, uint32_t roamId,
*/
sap_event.event = eSAP_MAC_START_BSS_SUCCESS;
sap_event.params = csr_roam_info;
+ sap_ctx->sap_sta_id = csr_roam_info->staId;
sap_event.u1 = roam_status;
sap_event.u2 = roam_result;
qdf_status = sap_fsm(sap_ctx, &sap_event);
diff --git a/core/sap/src/sap_fsm.c b/core/sap/src/sap_fsm.c
index 0a3b1da3630d..240f3f42d477 100644
--- a/core/sap/src/sap_fsm.c
+++ b/core/sap/src/sap_fsm.c
@@ -2845,10 +2845,7 @@ QDF_STATUS sap_signal_hdd_event(ptSapContext sap_ctx,
bss_complete = &sap_ap_event.sapevt.sapStartBssCompleteEvent;
bss_complete->status = (eSapStatus) context;
- if (csr_roaminfo != NULL)
- bss_complete->staId = csr_roaminfo->staId;
- else
- bss_complete->staId = 0;
+ bss_complete->staId = sap_ctx->sap_sta_id;
QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_INFO_HIGH,
FL("(eSAP_START_BSS_EVENT): staId = %d"),
diff --git a/core/sap/src/sap_internal.h b/core/sap/src/sap_internal.h
index c73bae8aee1e..35262be95f39 100644
--- a/core/sap/src/sap_internal.h
+++ b/core/sap/src/sap_internal.h
@@ -272,6 +272,7 @@ typedef struct sSapContext {
tSirMacRateSet supp_rate_set;
tSirMacRateSet extended_rate_set;
enum sap_acs_dfs_mode dfs_mode;
+ uint8_t sap_sta_id;
} *ptSapContext;
/*----------------------------------------------------------------------------