qcacld-3.0: Channel hopping for 2_4G and 5G band
qcacld-2.0 to qcacld-3.0 propagation Allow device switch to a different channel if the current channel is congested, using the 11h channel switch announcement. Change-Id: I1766785017e43f17cc800039b383ee5dabcd6ea5 CRs-Fixed: 2082632
Этот коммит содержится в:

коммит произвёл
Gerrit - the friendly Code Review server

родитель
2aa3f24cc2
Коммит
76d2a16f03
@@ -11051,6 +11051,26 @@ enum l1ss_sleep_allowed {
|
||||
#define CFG_SAP_CH_SWITCH_BEACON_CNT_MAX (5)
|
||||
#define CFG_SAP_CH_SWITCH_BEACON_CNT_DEFAULT (5)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* g_sap_chanswitch_mode - channel switch mode
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 1
|
||||
*
|
||||
* This ini is used to configure channel switch mode
|
||||
*
|
||||
* Related: none
|
||||
*
|
||||
* Usage: External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_SAP_CH_SWITCH_MODE "g_sap_chanswitch_mode"
|
||||
#define CFG_SAP_CH_SWITCH_MODE_MIN (0)
|
||||
#define CFG_SAP_CH_SWITCH_MODE_MAX (1)
|
||||
#define CFG_SAP_CH_SWITCH_MODE_DEFAULT (1)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* g_fils_max_chan_guard_time - Set maximum channel guard time(ms)
|
||||
@@ -12170,6 +12190,7 @@ struct hdd_config {
|
||||
bool fw_timeout_crash;
|
||||
/* beacon count before channel switch */
|
||||
uint8_t sap_chanswitch_beacon_cnt;
|
||||
uint8_t sap_chanswitch_mode;
|
||||
uint32_t rx_wakelock_timeout;
|
||||
uint32_t max_sched_scan_plan_interval;
|
||||
uint32_t max_sched_scan_plan_iterations;
|
||||
|
@@ -4255,6 +4255,12 @@ struct reg_table_entry g_registry_table[] = {
|
||||
CFG_SAP_CH_SWITCH_BEACON_CNT_DEFAULT,
|
||||
CFG_SAP_CH_SWITCH_BEACON_CNT_MIN,
|
||||
CFG_SAP_CH_SWITCH_BEACON_CNT_MAX),
|
||||
REG_VARIABLE(CFG_SAP_CH_SWITCH_MODE, WLAN_PARAM_Integer,
|
||||
struct hdd_config, sap_chanswitch_mode,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_SAP_CH_SWITCH_MODE_DEFAULT,
|
||||
CFG_SAP_CH_SWITCH_MODE_MIN,
|
||||
CFG_SAP_CH_SWITCH_MODE_MAX),
|
||||
REG_VARIABLE(CFG_MAX_SCHED_SCAN_PLAN_INT_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, max_sched_scan_plan_interval,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
|
@@ -5137,22 +5137,28 @@ QDF_STATUS hdd_softap_get_sta_info(hdd_adapter_t *pAdapter, uint8_t *pBuf,
|
||||
for (i = 0; i <= maxSta; i++) {
|
||||
hdd_station_info_t *sta_info_ptr = &pAdapter->aStaInfo[i];
|
||||
|
||||
if (sta_info_ptr->isUsed) {
|
||||
len = scnprintf(pBuf, buf_len,
|
||||
"%d %x:%x:%x:%x:%x:%x \t ecsa=%d\n",
|
||||
sta_info_ptr->ucSTAId,
|
||||
sta_info_ptr->macAddrSTA.bytes[0],
|
||||
sta_info_ptr->macAddrSTA.bytes[1],
|
||||
sta_info_ptr->macAddrSTA.bytes[2],
|
||||
sta_info_ptr->macAddrSTA.bytes[3],
|
||||
sta_info_ptr->macAddrSTA.bytes[4],
|
||||
sta_info_ptr->macAddrSTA.bytes[5],
|
||||
sta_info_ptr->ecsa_capable);
|
||||
pBuf += len;
|
||||
buf_len -= len;
|
||||
}
|
||||
if (!sta_info_ptr->isUsed)
|
||||
continue;
|
||||
|
||||
if (CHAN_HOP_ALL_BANDS_ENABLE &&
|
||||
(i == (WLAN_HDD_GET_AP_CTX_PTR(pAdapter))->uBCStaId))
|
||||
continue;
|
||||
|
||||
if (WE_GET_STA_INFO_SIZE > buf_len)
|
||||
break;
|
||||
|
||||
len = scnprintf(pBuf, buf_len,
|
||||
"%5d %02x:%02x:%02x:%02x:%02x:%02x ecsa=%d\n",
|
||||
sta_info_ptr->ucSTAId,
|
||||
sta_info_ptr->macAddrSTA.bytes[0],
|
||||
sta_info_ptr->macAddrSTA.bytes[1],
|
||||
sta_info_ptr->macAddrSTA.bytes[2],
|
||||
sta_info_ptr->macAddrSTA.bytes[3],
|
||||
sta_info_ptr->macAddrSTA.bytes[4],
|
||||
sta_info_ptr->macAddrSTA.bytes[5],
|
||||
sta_info_ptr->ecsa_capable);
|
||||
pBuf += len;
|
||||
buf_len -= len;
|
||||
}
|
||||
|
||||
EXIT();
|
||||
@@ -7528,6 +7534,7 @@ int wlan_hdd_cfg80211_start_bss(hdd_adapter_t *pHostapdAdapter,
|
||||
pConfig->disableDFSChSwitch = iniConfig->disableDFSChSwitch;
|
||||
pConfig->sap_chanswitch_beacon_cnt =
|
||||
iniConfig->sap_chanswitch_beacon_cnt;
|
||||
pConfig->sap_chanswitch_mode = iniConfig->sap_chanswitch_mode;
|
||||
|
||||
/* channel is already set in the set_channel Call back */
|
||||
/* pConfig->channel = pCommitConfig->channel; */
|
||||
|
Ссылка в новой задаче
Block a user