summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgaurank kathpalia <gkathpal@codeaurora.org>2019-12-12 16:25:06 +0530
committerKumar Anand <kumaranand@google.com>2020-02-03 18:00:00 +0000
commit51cdc18fb7b51ed9024bc14a69aa708637c9ed9a (patch)
tree406f36151fc43d9cfa05bb17ebe765774c5c9f40
parent51436d3defb983cbbd8b61a70104f6e82998f218 (diff)
downloadqcacld-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.c6
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);
}