diff options
| author | Ganesh Kondabattini <ganeshk@codeaurora.org> | 2017-09-08 18:39:29 +0530 |
|---|---|---|
| committer | snandini <snandini@codeaurora.org> | 2017-09-10 23:19:12 -0700 |
| commit | 95954edf37f35fbf7ccf34c816e4ffdba6ae5e3d (patch) | |
| tree | bf6ac72cc04d21e50937ef4c9998f853c9b61662 | |
| parent | a44c97a3dcb67f9d8fa2a6defdf10e314a20c45e (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.h | 2 | ||||
| -rw-r--r-- | core/hdd/src/wlan_hdd_main.c | 13 |
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); |
