diff options
| author | Mahesh A Saptasagar <c_msapta@qti.qualcomm.com> | 2016-04-06 13:23:46 +0530 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2016-04-18 12:56:03 +0530 |
| commit | 4ccaa1f049447ebec08f8b27c462483496a2dc47 (patch) | |
| tree | f1d3da613e360b11dd16606d18e1427f115155e3 | |
| parent | d4471e5c3f2aacb81369beb42a9c2d846070915c (diff) | |
qcacld-2.0: Clear WMM access category stats on disconnect
WMM access category stats of old BSS getting added to stats of new BSS
on network switch.
To mitigate this issue, clear WMM access category stats on disconnect.
Change-Id: Icd1ce4ae0595098f95d5534b4b752c5692264fb8
CRs-Fixed: 999832
| -rw-r--r-- | CORE/HDD/inc/wlan_hdd_cfg80211.h | 7 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_assoc.c | 2 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_cfg80211.c | 21 |
3 files changed, 30 insertions, 0 deletions
diff --git a/CORE/HDD/inc/wlan_hdd_cfg80211.h b/CORE/HDD/inc/wlan_hdd_cfg80211.h index d8e60f11b71c..b98f62101c42 100644 --- a/CORE/HDD/inc/wlan_hdd_cfg80211.h +++ b/CORE/HDD/inc/wlan_hdd_cfg80211.h @@ -1958,4 +1958,11 @@ backported_cfg80211_vendor_event_alloc(struct wiphy *wiphy, void hdd_get_bpf_offload_cb(void *hdd_context, struct sir_bpf_get_offload *); void hdd_init_bpf_completion(void); + +#ifdef WLAN_FEATURE_LINK_LAYER_STATS +void wlan_hdd_clear_link_layer_stats(hdd_adapter_t *adapter); +#else +static inline void wlan_hdd_clear_link_layer_stats(hdd_adapter_t *adapter) {} +#endif + #endif diff --git a/CORE/HDD/src/wlan_hdd_assoc.c b/CORE/HDD/src/wlan_hdd_assoc.c index cd353d041df1..9655828140e7 100644 --- a/CORE/HDD/src/wlan_hdd_assoc.c +++ b/CORE/HDD/src/wlan_hdd_assoc.c @@ -1186,6 +1186,8 @@ static eHalStatus hdd_DisConnectHandler( hdd_adapter_t *pAdapter, tCsrRoamInfo * pAdapter->sessionId); } + wlan_hdd_clear_link_layer_stats(pAdapter); + //Unblock anyone waiting for disconnect to complete complete(&pAdapter->disconnect_comp_var); return( status ); diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c index 89d93093737f..b935ef4e3269 100644 --- a/CORE/HDD/src/wlan_hdd_cfg80211.c +++ b/CORE/HDD/src/wlan_hdd_cfg80211.c @@ -6609,6 +6609,27 @@ static int wlan_hdd_cfg80211_ll_stats_clear(struct wiphy *wiphy, return ret; } +/** + * wlan_hdd_clear_link_layer_stats() - clear link layer stats + * @adapter: pointer to adapter + * + * Wrapper function to clear link layer stats. + * return - void + */ +void wlan_hdd_clear_link_layer_stats(hdd_adapter_t *adapter) +{ + tSirLLStatsClearReq link_layer_stats_clear_req; + tHalHandle hal = WLAN_HDD_GET_HAL_CTX(adapter); + + link_layer_stats_clear_req.statsClearReqMask = WIFI_STATS_IFACE_AC; + link_layer_stats_clear_req.stopReq = 0; + link_layer_stats_clear_req.reqId = 1; + link_layer_stats_clear_req.staId = adapter->sessionId; + sme_LLStatsClearReq(hal, &link_layer_stats_clear_req); + + return; +} + #endif /* WLAN_FEATURE_LINK_LAYER_STATS */ #ifdef WLAN_FEATURE_ROAM_OFFLOAD |
