summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRatnam Rachuri <c_rrachu@qti.qualcomm.com>2015-10-20 16:31:19 +0530
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2016-04-22 10:23:11 +0530
commit4dc8a445671a0a2664d4d3a9c5438d7700c9fdcb (patch)
treec5e85a457c4e413c3f66f7a8ba8b2121cedd1db3
parentd41c98a240e4015c874f4349ed50df4332d682b3 (diff)
qcacld-2.0: Prevent roaming latency caused by LL stat ops
prima to qcacld-2.0 propagation Framework may initiate LL stat ops while roaming is in middle, which in turn block the call or wait for timeout hence introducing roaming delay. This delay can be overcome by avoiding LL stat ops if it is triggered in between the roaming. Change-Id: Ie64c8c56f905cc297057e62b69c010cf1e0974ed CRs-Fixed: 881429
-rw-r--r--CORE/HDD/src/wlan_hdd_cfg80211.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index 909f46216fc5..fb0d9d383c4a 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -6327,6 +6327,7 @@ static int __wlan_hdd_cfg80211_ll_stats_get(struct wiphy *wiphy,
tSirLLStatsGetReq LinkLayerStatsGetReq;
struct net_device *dev = wdev->netdev;
hdd_adapter_t *pAdapter = WLAN_HDD_GET_PRIV_PTR(dev);
+ hdd_station_ctx_t *hddstactx = WLAN_HDD_GET_STATION_CTX_PTR(pAdapter);
int status;
if (VOS_FTM_MODE == hdd_get_conparam()) {
@@ -6346,6 +6347,12 @@ static int __wlan_hdd_cfg80211_ll_stats_get(struct wiphy *wiphy,
return -EINVAL;
}
+ if (hddstactx->hdd_ReassocScenario) {
+ hddLog(VOS_TRACE_LEVEL_INFO,
+ FL("Roaming in progress, so unable to proceed this request"));
+ return -EBUSY;
+ }
+
if (nla_parse(tb_vendor, QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_MAX,
(struct nlattr *)data,
data_len, qca_wlan_vendor_ll_get_policy))