qcacld-3.0: Fix max dwell time for passive scan beacon report
qcacld-2.0 to qcacld-3.0 propagation Currently STA advertising the max. measurement duration of RM capability as half the beacon interval. When STA receives beacon report request frame, it is not using measurement duration indicated if it is above the advertised max. measurement duration However, firmware expects a minimum of one beacon interval to find the AP. Modify the max. measurement capability of RRM as one beacon interval. Also engineered the code to make use of the INI parameters for adjusting the max measurement duration. Git-commit: 0a18af7723c58987944780bad0ff7f35605413ac Change-Id: Idc0b4f15f2b7464507aacfaefb99e1ba48ad1eca CRs-Fixed: 1030590
This commit is contained in:
parent
cd3cc70222
commit
4d6c29599d
@ -839,13 +839,13 @@ typedef 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)
|
||||
@ -862,7 +862,7 @@ typedef enum {
|
||||
* Comma is used as a separator for each byte.
|
||||
*/
|
||||
#define CFG_RM_CAPABILITY_NAME "rm_capability"
|
||||
#define CFG_RM_CAPABILITY_DEFAULT "73,10,6D,00,04"
|
||||
#define CFG_RM_CAPABILITY_DEFAULT "73,10,91,00,04"
|
||||
|
||||
#define CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME "ImplicitQosIsEnabled"
|
||||
#define CFG_QOS_IMPLICIT_SETUP_ENABLED_MIN (0)
|
||||
|
@ -7040,6 +7040,18 @@ QDF_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)));
|
||||
|
||||
/* Remaining config params not obtained from registry
|
||||
* On RF EVB beacon using channel 1.
|
||||
*/
|
||||
|
@ -225,6 +225,8 @@ 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 */
|
||||
|
||||
/**
|
||||
|
@ -1299,8 +1299,8 @@ tSirRetStatus rrm_initialize(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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user