summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGanesh Kondabattini <ganeshk@codeaurora.org>2017-09-08 18:39:29 +0530
committersnandini <snandini@codeaurora.org>2017-09-10 23:19:12 -0700
commit95954edf37f35fbf7ccf34c816e4ffdba6ae5e3d (patch)
treebf6ac72cc04d21e50937ef4c9998f853c9b61662
parenta44c97a3dcb67f9d8fa2a6defdf10e314a20c45e (diff)
qcacld-3.0: Maintain limit off channel params per adapter
The limit off channel parameters were applied to all adapters even though application sends this command on a particular interface. Maintain limit off channel parameters per interafce. CRs-Fixed: 2103637 Change-Id: Ib768bfb61deac77ea2d67b7d6b6750a96bdc8902
-rw-r--r--core/hdd/inc/wlan_hdd_main.h2
-rw-r--r--core/hdd/src/wlan_hdd_main.c13
2 files changed, 9 insertions, 6 deletions
diff --git a/core/hdd/inc/wlan_hdd_main.h b/core/hdd/inc/wlan_hdd_main.h
index 8a3125ae91c6..6cd468e91da3 100644
--- a/core/hdd/inc/wlan_hdd_main.h
+++ b/core/hdd/inc/wlan_hdd_main.h
@@ -1407,6 +1407,7 @@ struct hdd_adapter_s {
struct action_frame_random_mac random_mac[MAX_RANDOM_MAC_ADDRS];
uint32_t mon_chan;
uint32_t mon_bandwidth;
+ uint8_t active_ac;
};
#define WLAN_HDD_GET_STATION_CTX_PTR(pAdapter) (&(pAdapter)->sessionCtx.station)
@@ -1994,7 +1995,6 @@ struct hdd_context_s {
hdd_adapter_t *cap_tsf_context;
#endif
struct sta_ap_intf_check_work_ctx *sta_ap_intf_check_work_info;
- uint8_t active_ac;
};
int hdd_validate_channel_and_bandwidth(hdd_adapter_t *adapter,
diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c
index 7fce17871bde..0d86dc67af91 100644
--- a/core/hdd/src/wlan_hdd_main.c
+++ b/core/hdd/src/wlan_hdd_main.c
@@ -12041,16 +12041,19 @@ int hdd_set_limit_off_chan_for_tos(hdd_adapter_t *adapter, enum tos tos,
ac_bit = limit_off_chan_tbl[tos][HDD_AC_BIT_INDX];
if (is_tos_active)
- hdd_ctx->active_ac |= ac_bit;
+ adapter->active_ac |= ac_bit;
else
- hdd_ctx->active_ac &= ~ac_bit;
+ adapter->active_ac &= ~ac_bit;
- if (hdd_ctx->active_ac) {
- if (hdd_ctx->active_ac & HDD_AC_VO_BIT) {
+ hdd_debug("session id %hu active_ac %0x",
+ adapter->sessionId, adapter->active_ac);
+
+ if (adapter->active_ac) {
+ if (adapter->active_ac & HDD_AC_VO_BIT) {
cmd->max_off_chan_time =
limit_off_chan_tbl[TOS_VO][HDD_DWELL_TIME_INDX];
cds_set_cur_conc_system_pref(CDS_LATENCY);
- } else if (hdd_ctx->active_ac & HDD_AC_VI_BIT) {
+ } else if (adapter->active_ac & HDD_AC_VI_BIT) {
cmd->max_off_chan_time =
limit_off_chan_tbl[TOS_VI][HDD_DWELL_TIME_INDX];
cds_set_cur_conc_system_pref(CDS_LATENCY);