qcacld-3.0: SAP DFS CAC Support in 80+80MHz mode
Add support to perform CAC when SAP comes up in 160MHz or 80+80MHz with any of the 80MHz band is DFS band. Change-Id: If24d6cd325f747934195598ffe0f456eea939026 CRs-Fixed: 964262
Cette révision appartient à :

révisé par
Vishwajith Upendra

Parent
9d6b75d1a4
révision
949eaa7aab
@@ -3433,6 +3433,7 @@ static QDF_STATUS sap_fsm_state_starting(ptSapContext sap_ctx,
|
||||
tCsrRoamInfo *roam_info = (tCsrRoamInfo *) (sap_event->params);
|
||||
tSapDfsInfo *sap_dfs_info;
|
||||
QDF_STATUS qdf_status = QDF_STATUS_E_FAILURE;
|
||||
uint8_t is_dfs = false;
|
||||
|
||||
if (msg == eSAP_MAC_START_BSS_SUCCESS) {
|
||||
/*
|
||||
@@ -3440,8 +3441,9 @@ static QDF_STATUS sap_fsm_state_starting(ptSapContext sap_ctx,
|
||||
* (both without substates)
|
||||
*/
|
||||
QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_INFO_HIGH,
|
||||
FL("from state channel = %d %s => %s"),
|
||||
sap_ctx->channel, "eSAP_STARTING", "eSAP_STARTED");
|
||||
FL("from state channel = %d %s => %s ch_width %d"),
|
||||
sap_ctx->channel, "eSAP_STARTING", "eSAP_STARTED",
|
||||
sap_ctx->ch_params.ch_width);
|
||||
sap_ctx->sapsMachine = eSAP_STARTED;
|
||||
|
||||
/* Action code for transition */
|
||||
@@ -3454,8 +3456,22 @@ static QDF_STATUS sap_fsm_state_starting(ptSapContext sap_ctx,
|
||||
* running, however, the AP is still not beaconing, until
|
||||
* CAC is done if the operating channel is DFS
|
||||
*/
|
||||
if (CHANNEL_STATE_DFS ==
|
||||
cds_get_channel_state(sap_ctx->channel)) {
|
||||
if (sap_ctx->ch_params.ch_width == CH_WIDTH_160MHZ) {
|
||||
is_dfs = true;
|
||||
} else if (sap_ctx->ch_params.ch_width == CH_WIDTH_80P80MHZ) {
|
||||
if (cds_get_channel_state(sap_ctx->channel) ==
|
||||
CHANNEL_STATE_DFS ||
|
||||
cds_get_channel_state(sap_ctx->
|
||||
ch_params.center_freq_seg1 -
|
||||
SIR_80MHZ_START_CENTER_CH_DIFF) ==
|
||||
CHANNEL_STATE_DFS)
|
||||
is_dfs = true;
|
||||
} else {
|
||||
if (cds_get_channel_state(sap_ctx->channel) ==
|
||||
CHANNEL_STATE_DFS)
|
||||
is_dfs = true;
|
||||
}
|
||||
if (is_dfs) {
|
||||
sap_dfs_info = &mac_ctx->sap.SapDfsInfo;
|
||||
if ((false == sap_dfs_info->ignore_cac) &&
|
||||
(eSAP_DFS_DO_NOT_SKIP_CAC ==
|
||||
|
Référencer dans un nouveau ticket
Bloquer un utilisateur