wlan: Send valid STA ID to FW while processing get stats
While processing gets stats request send vlaid STA ID to FW,
in SAP case.
Change-Id: If9eb496ccfa7148c6df30d46ca7cd234e1923530
CRs-Fixed: 2087058
diff --git a/CORE/HDD/src/wlan_hdd_wext.c b/CORE/HDD/src/wlan_hdd_wext.c
index 09d5be1..7e972de 100644
--- a/CORE/HDD/src/wlan_hdd_wext.c
+++ b/CORE/HDD/src/wlan_hdd_wext.c
@@ -3593,10 +3593,12 @@
VOS_STATUS wlan_hdd_get_station_stats(hdd_adapter_t *pAdapter)
{
- hdd_station_ctx_t *pHddStaCtx = WLAN_HDD_GET_STATION_CTX_PTR(pAdapter);
+ hdd_station_ctx_t *pHddStaCtx;
+ hdd_ap_ctx_t *sap_ctx;
eHalStatus hstatus;
long lrc;
struct statsContext context;
+ tANI_U8 sta_id;
if (NULL == pAdapter)
{
@@ -3604,6 +3606,14 @@
return VOS_STATUS_SUCCESS;
}
+ if (pAdapter->device_mode == WLAN_HDD_SOFTAP) {
+ sap_ctx = WLAN_HDD_GET_AP_CTX_PTR(pAdapter);
+ sta_id = sap_ctx->uBCStaId;
+ } else {
+ pHddStaCtx = WLAN_HDD_GET_STATION_CTX_PTR(pAdapter);
+ sta_id = pHddStaCtx->conn_info.staId[0];
+ }
+
/* we are connected
prepare our callback context */
init_completion(&context.completion);
@@ -3619,7 +3629,7 @@
hdd_get_station_statisticsCB,
0, // not periodic
FALSE, //non-cached results
- pHddStaCtx->conn_info.staId[0],
+ sta_id,
&context);
if (eHAL_STATUS_SUCCESS != hstatus)
{