diff options
| author | bings <bings@codeaurora.org> | 2017-03-15 01:18:02 +0800 |
|---|---|---|
| committer | Sandeep Puligilla <spuligil@codeaurora.org> | 2017-03-20 21:15:28 -0700 |
| commit | b10c832d4659fe5506e0ecd3cee8c3db04c37be8 (patch) | |
| tree | ae7b52463ed7ed7886455fac14903cc6e7681613 | |
| parent | 8a4c25b3fd8021b4f4d78fc407a9e4e31c72922b (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.c | 1 | ||||
| -rw-r--r-- | core/sap/src/sap_fsm.c | 5 | ||||
| -rw-r--r-- | core/sap/src/sap_internal.h | 1 |
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; /*---------------------------------------------------------------------------- |
