summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CORE/HDD/inc/wlan_hdd_cfg.h10
-rw-r--r--CORE/HDD/src/wlan_hdd_cfg.c10
-rw-r--r--CORE/MAC/src/pe/include/rrmGlobal.h5
-rw-r--r--CORE/MAC/src/pe/rrm/rrmApi.c4
4 files changed, 21 insertions, 8 deletions
diff --git a/CORE/HDD/inc/wlan_hdd_cfg.h b/CORE/HDD/inc/wlan_hdd_cfg.h
index 3163873cd198..828f126c8333 100644
--- a/CORE/HDD/inc/wlan_hdd_cfg.h
+++ b/CORE/HDD/inc/wlan_hdd_cfg.h
@@ -1005,13 +1005,13 @@ enum
#define CFG_RRM_OPERATING_CHAN_MAX_DURATION_NAME "gRrmOperChanMax" //section 11.10.3 IEEE std. 802.11k-2008
#define CFG_RRM_OPERATING_CHAN_MAX_DURATION_MIN (0) //Maxduration = 2^(maxDuration - 4) * bcnIntvl.
-#define CFG_RRM_OPERATING_CHAN_MAX_DURATION_MAX (8)
-#define CFG_RRM_OPERATING_CHAN_MAX_DURATION_DEFAULT (3) //max duration = 2^-1 * bcnIntvl (50% of bcn intvl)
+#define CFG_RRM_OPERATING_CHAN_MAX_DURATION_MAX (7)
+#define CFG_RRM_OPERATING_CHAN_MAX_DURATION_DEFAULT (4) //max duration = 2^0 * bcnIntvl (100% of bcn intvl)
#define CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_NAME "gRrmNonOperChanMax" //Same as above.
#define CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MIN (0)
-#define CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MAX (8)
-#define CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_DEFAULT (3)
+#define CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MAX (7)
+#define CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_DEFAULT (4)
#define CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME "gRrmRandnIntvl"
#define CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN (10)
@@ -1028,7 +1028,7 @@ enum
* Comma is used as a separator for each byte.
*/
#define CFG_RM_CAPABILITY_NAME "rm_capability"
-#define CFG_RM_CAPABILITY_DEFAULT "73,00,6D,00,04"
+#define CFG_RM_CAPABILITY_DEFAULT "73,00,91,00,04"
#endif
#define CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME "ImplicitQosIsEnabled"
diff --git a/CORE/HDD/src/wlan_hdd_cfg.c b/CORE/HDD/src/wlan_hdd_cfg.c
index 2d25ef888138..3c1e918f7982 100644
--- a/CORE/HDD/src/wlan_hdd_cfg.c
+++ b/CORE/HDD/src/wlan_hdd_cfg.c
@@ -7161,6 +7161,16 @@ VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx )
hdd_hex_string_to_u8_array(pConfig->rm_capability,
smeConfig->rrmConfig.rm_capability, &rrm_capab_len,
DOT11F_IE_RRMENABLEDCAP_MAX_LEN);
+ /*
+ * Update the INI values gRrmOperChanMax and gRrmNonOperChanMax appropriately
+ */
+ smeConfig->rrmConfig.rm_capability[2] =
+ ((pConfig->nOutChanMeasMaxDuration <<
+ CAP_NONOPER_CHAN_MAX_DURATION_OFFSET) |
+ (pConfig->nOutChanMeasMaxDuration <<
+ CAP_OPER_CHAN_MAX_DURATION_OFFSET) |
+ (smeConfig->rrmConfig.rm_capability[2] &
+ (RM_CAP_RM_MIB | RM_CAP_AP_CHAN_REPORT)));
#endif
//Remaining config params not obtained from registry
// On RF EVB beacon using channel 1.
diff --git a/CORE/MAC/src/pe/include/rrmGlobal.h b/CORE/MAC/src/pe/include/rrmGlobal.h
index c23f1e00a89e..7b6b08f7359d 100644
--- a/CORE/MAC/src/pe/include/rrmGlobal.h
+++ b/CORE/MAC/src/pe/include/rrmGlobal.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2012, 2014-2015 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2011-2012, 2014-2016 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -226,6 +226,9 @@ typedef struct sRrmPEContext
#define RCPI_MAX_VALUE (220)
#define CALCULATE_RCPI(rssi) (((rssi) + 110) * 2)
+
+#define CAP_OPER_CHAN_MAX_DURATION_OFFSET 2
+#define CAP_NONOPER_CHAN_MAX_DURATION_OFFSET 5
/* Bit mask are defined as per Draft P802.11REVmc_D4.2 */
/**
diff --git a/CORE/MAC/src/pe/rrm/rrmApi.c b/CORE/MAC/src/pe/rrm/rrmApi.c
index 3fb65c45c292..d42cedabbbed 100644
--- a/CORE/MAC/src/pe/rrm/rrmApi.c
+++ b/CORE/MAC/src/pe/rrm/rrmApi.c
@@ -1235,8 +1235,8 @@ rrmInitialize(tpAniSirGlobal pMac)
pRRMCaps->fine_time_meas_rpt = 1;
pRRMCaps->lci_capability = 1;
- pRRMCaps->operatingChanMax = 3;
- pRRMCaps->nonOperatingChanMax = 3;
+ pRRMCaps->operatingChanMax = 4;
+ pRRMCaps->nonOperatingChanMax = 4;
return eSIR_SUCCESS;
}