diff --git a/core/cds/src/cds_reg_service.c b/core/cds/src/cds_reg_service.c index 42cde31fe19f..67886938a56c 100644 --- a/core/cds/src/cds_reg_service.c +++ b/core/cds/src/cds_reg_service.c @@ -509,6 +509,13 @@ static void cds_set_2g_channel_params(uint16_t oper_ch, if (CH_WIDTH_MAX <= ch_params->ch_width) ch_params->ch_width = CH_WIDTH_40MHZ; + if ((cds_bw_value(ch_params->ch_width) > 20) && !sec_ch_2g) { + if (oper_ch >= 1 && oper_ch <= 5) + sec_ch_2g = oper_ch + 4; + else if (oper_ch >= 6 && oper_ch <= 13) + sec_ch_2g = oper_ch - 4; + } + while (ch_params->ch_width != CH_WIDTH_INVALID) { chan_state = cds_get_2g_bonded_channel_state(oper_ch, ch_params->ch_width, diff --git a/core/sap/src/sap_fsm.c b/core/sap/src/sap_fsm.c index 9be884d40020..faea47e5d849 100644 --- a/core/sap/src/sap_fsm.c +++ b/core/sap/src/sap_fsm.c @@ -2148,6 +2148,8 @@ QDF_STATUS sap_goto_channel_sel(ptSapContext sap_context, "%s: Override ch %d to %d due to CC Intf", __func__, sap_context->channel, con_ch); sap_context->channel = con_ch; + cds_set_channel_params(sap_context->channel, 0, + &sap_context->ch_params); } } #endif @@ -2180,6 +2182,8 @@ QDF_STATUS sap_goto_channel_sel(ptSapContext sap_context, "%s: Override ch %d to %d due to CC Intf", __func__, sap_context->channel, con_ch); sap_context->channel = con_ch; + cds_set_channel_params(sap_context->channel, 0, + &sap_context->ch_params); } } #endif