summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVignesh Viswanathan <viswanat@codeaurora.org>2018-05-22 19:45:08 +0530
committernshrivas <nshrivas@codeaurora.org>2018-05-24 06:38:50 -0700
commit19fee33b1dfd6069fc970b552dc18d9d01a22d6d (patch)
tree3c6393a29a36888caff60eb6258273f66fe8df42
parent832941210f5cb6f86bfc90baa9a40699e7bfe050 (diff)
qcacmn: Send CSA/ECSA Switch count offset in Beacon Template to FW
During a channel switch, host sends the beacon template to the FW. Currently the CSA/ECSA Channel Switch count offset fields in the WMI_BCN_TMPL_CMDID fixed params are not filled from the host. Add changes to calculate the CSA/ECSA Switch count offset from start of the beacon template data and fill it in the fixed params field for WMI_BCN_TMPL_CMDID. Change-Id: I30d1e520e219d739a3756379824a8499afc8c491 CRs-Fixed: 2246603
-rw-r--r--wmi/inc/wmi_unified_param.h4
-rw-r--r--wmi/src/wmi_unified_tlv.c2
2 files changed, 6 insertions, 0 deletions
diff --git a/wmi/inc/wmi_unified_param.h b/wmi/inc/wmi_unified_param.h
index eba5979d6980..f3e0c86382b4 100644
--- a/wmi/inc/wmi_unified_param.h
+++ b/wmi/inc/wmi_unified_param.h
@@ -788,6 +788,8 @@ struct beacon_tmpl_params {
* struct beacon_params - beacon cmd parameter
* @vdev_id: vdev id
* @tim_ie_offset: tim ie offset
+ * @csa_count_offset: Offset of Switch count field in CSA IE
+ * @ecsa_count_offset: Offset of Switch count field in ECSA IE
* @tmpl_len: beacon template length
* @tmpl_len_aligned: beacon template alignment
* @frm: beacon template parameter
@@ -795,6 +797,8 @@ struct beacon_tmpl_params {
struct beacon_params {
uint8_t vdev_id;
uint32_t tim_ie_offset;
+ uint32_t csa_count_offset;
+ uint32_t ecsa_count_offset;
uint32_t tmpl_len;
uint32_t tmpl_len_aligned;
uint8_t *frm;
diff --git a/wmi/src/wmi_unified_tlv.c b/wmi/src/wmi_unified_tlv.c
index 69212c24d1ba..11f0d412e47c 100644
--- a/wmi/src/wmi_unified_tlv.c
+++ b/wmi/src/wmi_unified_tlv.c
@@ -1301,6 +1301,8 @@ QDF_STATUS send_beacon_send_cmd_tlv(wmi_unified_t wmi_handle,
WMITLV_GET_STRUCT_TLVLEN(wmi_bcn_tmpl_cmd_fixed_param));
cmd->vdev_id = param->vdev_id;
cmd->tim_ie_offset = param->tim_ie_offset;
+ cmd->csa_switch_count_offset = param->csa_count_offset;
+ cmd->ext_csa_switch_count_offset = param->ecsa_count_offset;
cmd->buf_len = param->tmpl_len;
buf_ptr += sizeof(wmi_bcn_tmpl_cmd_fixed_param);