summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnurag Chouhan <achouhan@codeaurora.org>2016-09-03 16:20:32 +0530
committerqcabuildsw <qcabuildsw@localhost>2016-09-10 19:06:37 -0700
commit22520000f8d7afa33fed8735ca1d4de5f9eaccae (patch)
tree24a3dd6df7c4749a55d205263af8a110d1cfbe33
parent1a73428e0d76e3342263dd8757e88d5a5395c92d (diff)
qcacld-3.0: Prevent roaming latency caused by LL stat ops
qcacld-2.0 to qcacld-3.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 (cherry picked from commit 125d2e3ce70d7829ed6b37ee032f6c2036974587)
-rw-r--r--core/hdd/src/wlan_hdd_stats.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/core/hdd/src/wlan_hdd_stats.c b/core/hdd/src/wlan_hdd_stats.c
index fce9d96d26b0..ff7a538e5c3c 100644
--- a/core/hdd/src/wlan_hdd_stats.c
+++ b/core/hdd/src/wlan_hdd_stats.c
@@ -1222,6 +1222,7 @@ __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;
ENTER_DEV(dev);
@@ -1241,6 +1242,11 @@ __wlan_hdd_cfg80211_ll_stats_get(struct wiphy *wiphy,
return -EINVAL;
}
+ if (hddstactx->hdd_ReassocScenario) {
+ hdd_err("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)) {