summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKiran Kumar Lokere <klokere@codeaurora.org>2016-05-11 19:41:44 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-06-01 10:45:42 -0700
commit9d41f61a0cbc8ee41d752a48103455255e745f59 (patch)
tree82ec347804d2a5246120639cad184ac125e7e239
parent046eb8a26062c0b88eb1c3fb40f1634d36bbbf2b (diff)
qcacld-3.0: Send the correct phy mode in SAP+STA mode
In STA+SAP concurrency case the SAP channel is changed to due to concurrency operation. Since the new channel params are not updated in sap context, the old channel params are sent to WMA, hence the PHY MODE is passed as UNKNOWN to FW. Set the channel params when the SAP operating channel is changed due to concurrent operation. Change-Id: I8ac503a1b8993401b6fbdc247872539b72901564 CRs-Fixed: 1014368
-rw-r--r--core/cds/src/cds_reg_service.c7
-rw-r--r--core/sap/src/sap_fsm.c4
2 files changed, 11 insertions, 0 deletions
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