diff options
author | gaurank kathpalia <gkathpal@codeaurora.org> | 2019-12-12 16:25:06 +0530 |
---|---|---|
committer | Kumar Anand <kumaranand@google.com> | 2020-02-03 18:00:00 +0000 |
commit | 51cdc18fb7b51ed9024bc14a69aa708637c9ed9a (patch) | |
tree | 406f36151fc43d9cfa05bb17ebe765774c5c9f40 | |
parent | 51436d3defb983cbbd8b61a70104f6e82998f218 (diff) | |
download | qcacld-51cdc18fb7b51ed9024bc14a69aa708637c9ed9a.tar.gz |
qcacld-3.0: Lower down the channel BW in 2.4ghz case
Currently the driver in case of force SCC picks up
2.4ghz SCC channel if any other STA/AP is already
up on that channel, so in the process of shifting
in the API sap_validate_channel it picks up 2.4ghz
and calls a reg API to set the freq related params
to it. Now since the frequency for 2.4ghz is 40 mhz
capable the max BW supported for 2.4ghz becomes 40 and
the driver starts the SAP on 40mhz.
Now since the OBSS scan is offloaded to the hostpad
and now since it was driver which started the SAP
on 40mhz there is no mechanism to start OBSS scan
from driver, which leads to channel blockage if
any legacy 11g, 11b lient is operating on the channel.
Fix is to lower down the BW to 20Mhz if the SAP does a
force SCC in 2.4ghz.
Bug: 145577504
Change-Id: I0d85dfb5e9e8332957d853173063e77d18ea600c
CRs-Fixed: 2581495
Signed-off-by: Isaac Chiou <isaacchiou@google.com>
-rw-r--r-- | core/sap/src/sap_fsm.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/core/sap/src/sap_fsm.c b/core/sap/src/sap_fsm.c index 92770aad9d..cf0f9787ff 100644 --- a/core/sap/src/sap_fsm.c +++ b/core/sap/src/sap_fsm.c @@ -2364,6 +2364,9 @@ 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; + if (CDS_IS_CHANNEL_24GHZ(con_ch)) + sap_context->ch_params.ch_width = + CH_WIDTH_20MHZ; cds_set_channel_params(sap_context->channel, 0, &sap_context->ch_params); } @@ -2425,6 +2428,9 @@ QDF_STATUS sap_goto_channel_sel(ptSapContext sap_context, __func__, sap_context->channel, con_ch); sap_context->channel = con_ch; + if (CDS_IS_CHANNEL_24GHZ(con_ch)) + sap_context->ch_params.ch_width = + CH_WIDTH_20MHZ; cds_set_channel_params(sap_context->channel, 0, &sap_context->ch_params); } |