diff --git a/core/sap/src/sap_api_link_cntl.c b/core/sap/src/sap_api_link_cntl.c index 0d6cb6777b4d..a2ca456dca28 100644 --- a/core/sap/src/sap_api_link_cntl.c +++ b/core/sap/src/sap_api_link_cntl.c @@ -1197,6 +1197,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 76056e74b641..09d9639afc66 100644 --- a/core/sap/src/sap_fsm.c +++ b/core/sap/src/sap_fsm.c @@ -2874,10 +2874,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 b0ba38998ecf..b801a8506360 100644 --- a/core/sap/src/sap_internal.h +++ b/core/sap/src/sap_internal.h @@ -279,6 +279,7 @@ typedef struct sSapContext { enum sap_acs_dfs_mode dfs_mode; wlan_scan_requester req_id; uint8_t sap_acs_pre_start_bss; + uint8_t sap_sta_id; } *ptSapContext; /*----------------------------------------------------------------------------