summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-06-14 09:38:35 -0600
committerLinux Build Service Account <lnxbuild@localhost>2016-06-14 09:38:35 -0600
commitbfb603a7328941c8f2242ee4227a14e96c4e2bc1 (patch)
tree969ecfaf0f4bfba7dbefd0de0d797097588232c8
parentd6b021b5825fd8bd97c75ac6aa0bf7a0e7bc24e7 (diff)
parenta6ec2567d2b7464f301f9d864fad990888798db4 (diff)
Promotion of wlan-cld2.driver.lnx.1.0-00032.
CRs Change ID Subject -------------------------------------------------------------------------------------------------------------- 1021382 I3d41f5425e3a170c046941a439d17e06df0c6bef qcacld-2.0: Add capability based logic to mark first pac 688141 Ide2dddc5fcf8c569e9c5bdef69bfa0794bf80419 Release 4.0.11.99 688141 I80149b24fffa19113d6cbd6805974f48e8e525e0 Release 4.0.11.98 1022311 Id016a65b58255b25b973c1904a9715c995f7d34a qcacld-2.0: Avoid dereferencing of NULL pointer 1020078 I9d05cd7b8e051c4e9e4912cf866206ae32ec293d qcacld-2.0: Define data structures for new AP requiremen 1028035 Ib3c023e0a8abc5a43ddd2f757deec563592bd5d6 qcacld-2.0: Fix compilation error in TXTX 962367 I4fab1af6d9b8e34396bb3679f112c7f29bbe9f93 qcacld-2.0: Change NDP_SERVICE_INSTANCE_ID from 16 bits Change-Id: I0dbac20dee915c003d57a412c5d279e0bb49c356 CRs-Fixed: 1028035, 1022311, 688141, 1020078, 1021382, 962367
-rw-r--r--CORE/CLD_TXRX/HTT/htt.c22
-rw-r--r--CORE/CLD_TXRX/HTT/htt_rx.c16
-rw-r--r--CORE/CLD_TXRX/HTT/htt_types.h3
-rw-r--r--CORE/CLD_TXRX/TXRX/ol_tx_classify.c12
-rw-r--r--CORE/CLD_TXRX/TXRX/ol_txrx.c22
-rw-r--r--CORE/HDD/src/wlan_hdd_nan_datapath.c15
-rw-r--r--CORE/MAC/inc/qwlan_version.h4
-rw-r--r--CORE/MAC/inc/sirApi.h2
-rw-r--r--CORE/MAC/src/pe/include/limSession.h3
-rw-r--r--CORE/MAC/src/pe/lim/limTypes.h1
-rw-r--r--CORE/SAP/inc/sapApi.h25
-rw-r--r--CORE/SAP/src/sapInternal.h5
-rw-r--r--CORE/SERVICES/COMMON/ol_htt_api.h1
-rw-r--r--CORE/SERVICES/COMMON/ol_txrx_ctrl_api.h1
-rw-r--r--CORE/SERVICES/WMA/wma.c4
-rw-r--r--CORE/SERVICES/WMA/wma.h1
-rw-r--r--CORE/SME/inc/csrApi.h3
-rw-r--r--CORE/SME/inc/csrInternal.h1
-rw-r--r--CORE/WDA/inc/legacy/halMsgApi.h1
19 files changed, 121 insertions, 21 deletions
diff --git a/CORE/CLD_TXRX/HTT/htt.c b/CORE/CLD_TXRX/HTT/htt.c
index f88cbca62c05..40fadc4e91d3 100644
--- a/CORE/CLD_TXRX/HTT/htt.c
+++ b/CORE/CLD_TXRX/HTT/htt.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2014-2015 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2011, 2014-2016 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -658,3 +658,23 @@ void htt_clear_bundle_stats(htt_pdev_handle pdev)
}
#endif
+/**
+ * htt_mark_first_wakeup_packet() - set flag to indicate that
+ * fw is compatible for marking first packet after wow wakeup
+ * @pdev: pointer to htt pdev
+ * @value: 1 for enabled/ 0 for disabled
+ *
+ * Return: None
+ */
+void htt_mark_first_wakeup_packet(htt_pdev_handle pdev,
+ uint8_t value)
+{
+ if (!pdev) {
+ adf_os_print("%s: htt pdev is NULL", __func__);
+ return;
+ }
+
+ pdev->cfg.is_first_wakeup_packet = value;
+}
+
+
diff --git a/CORE/CLD_TXRX/HTT/htt_rx.c b/CORE/CLD_TXRX/HTT/htt_rx.c
index ba34bce3caca..c22edc615ce4 100644
--- a/CORE/CLD_TXRX/HTT/htt_rx.c
+++ b/CORE/CLD_TXRX/HTT/htt_rx.c
@@ -1368,6 +1368,15 @@ htt_rx_offload_paddr_msdu_pop_ll(
#else
adf_nbuf_unmap(pdev->osdev, buf, ADF_OS_DMA_FROM_DEVICE);
#endif
+
+ if (pdev->cfg.is_first_wakeup_packet) {
+ if (HTT_RX_IN_ORD_PADDR_IND_MSDU_INFO_GET(*(curr_msdu + 1)) &
+ FW_MSDU_INFO_FIRST_WAKEUP_M) {
+ adf_nbuf_update_skb_mark(buf, HTT_MARK_FIRST_WAKEUP_PACKET);
+ adf_os_print("%s: First packet after WOW Wakeup rcvd\n", __func__);
+ }
+ }
+
msdu_hdr = (u_int32_t *)adf_nbuf_data(buf);
/* First dword */
@@ -1917,13 +1926,6 @@ htt_rx_amsdu_rx_in_order_pop_ll(
*((u_int8_t *) &rx_desc->fw_desc.u.val) =
HTT_RX_IN_ORD_PADDR_IND_FW_DESC_GET(*(msg_word + 1));
-#ifdef FEATURE_MARK_FIRST_WOW_WAKEUP
- if (HTT_RX_IN_ORD_PADDR_IND_MSDU_INFO_GET(*(msg_word + 1)) &
- FW_MSDU_INFO_FIRST_WAKEUP_M) {
- adf_nbuf_update_skb_mark(msdu, HTT_MARK_FIRST_WAKEUP_PACKET);
- }
-#endif
-
msdu_count--;
/* calling callback function for packet logging */
diff --git a/CORE/CLD_TXRX/HTT/htt_types.h b/CORE/CLD_TXRX/HTT/htt_types.h
index 8d7b099ccb75..b5c064991517 100644
--- a/CORE/CLD_TXRX/HTT/htt_types.h
+++ b/CORE/CLD_TXRX/HTT/htt_types.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2014 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2011, 2014, 2016 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -242,6 +242,7 @@ struct htt_pdev_t {
int is_high_latency;
int is_full_reorder_offload;
int default_tx_comp_req;
+ uint8_t is_first_wakeup_packet;
} cfg;
struct {
u_int8_t major;
diff --git a/CORE/CLD_TXRX/TXRX/ol_tx_classify.c b/CORE/CLD_TXRX/TXRX/ol_tx_classify.c
index 271d670fd4f1..7ae70b9a173d 100644
--- a/CORE/CLD_TXRX/TXRX/ol_tx_classify.c
+++ b/CORE/CLD_TXRX/TXRX/ol_tx_classify.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012-2015 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -347,6 +347,11 @@ ol_tx_classify(
TX_SCHED_DEBUG_PRINT("Enter %s\n", __func__);
dest_addr = ol_tx_dest_addr_find(pdev, tx_nbuf);
+ if (!dest_addr) {
+ VOS_TRACE(VOS_MODULE_ID_TXRX, VOS_TRACE_LEVEL_ERROR,
+ "%s: Invalid dest_addr", __func__);
+ return NULL;
+ }
if ((IEEE80211_IS_MULTICAST(dest_addr))
|| (vdev->opmode == wlan_op_mode_ocb)) {
txq = &vdev->txqs[OL_TX_VDEV_MCAST_BCAST];
@@ -582,6 +587,11 @@ ol_tx_classify_mgmt(
TX_SCHED_DEBUG_PRINT("Enter %s\n", __func__);
dest_addr = ol_tx_dest_addr_find(pdev, tx_nbuf);
+ if (!dest_addr) {
+ VOS_TRACE(VOS_MODULE_ID_TXRX, VOS_TRACE_LEVEL_ERROR,
+ "%s: Invalid dest_addr", __func__);
+ return NULL;
+ }
if (IEEE80211_IS_MULTICAST(dest_addr)) {
/*
* AP: beacons are broadcast,
diff --git a/CORE/CLD_TXRX/TXRX/ol_txrx.c b/CORE/CLD_TXRX/TXRX/ol_txrx.c
index 7add94714be6..76ba63191d15 100644
--- a/CORE/CLD_TXRX/TXRX/ol_txrx.c
+++ b/CORE/CLD_TXRX/TXRX/ol_txrx.c
@@ -72,6 +72,28 @@
/*=== function definitions ===*/
+/**
+ * ol_tx_mark_first_wakeup_packet() - set flag to indicate that
+ * fw is compatible for marking first packet after wow wakeup
+ * @value: 1 for enabled/ 0 for disabled
+ *
+ * Return: None
+ */
+void ol_tx_mark_first_wakeup_packet(uint8_t value)
+{
+ void *vos_context = vos_get_global_context(VOS_MODULE_ID_TXRX, NULL);
+ struct ol_txrx_pdev_t *pdev = vos_get_context(VOS_MODULE_ID_TXRX,
+ vos_context);
+
+ if (!pdev) {
+ TXRX_PRINT(TXRX_PRINT_LEVEL_ERR,
+ "%s: pdev is NULL\n", __func__);
+ return;
+ }
+
+ htt_mark_first_wakeup_packet(pdev->htt_pdev, value);
+}
+
u_int16_t
ol_tx_desc_pool_size_hl(ol_pdev_handle ctrl_pdev)
{
diff --git a/CORE/HDD/src/wlan_hdd_nan_datapath.c b/CORE/HDD/src/wlan_hdd_nan_datapath.c
index 449ad944f750..fc1d45d82f7c 100644
--- a/CORE/HDD/src/wlan_hdd_nan_datapath.c
+++ b/CORE/HDD/src/wlan_hdd_nan_datapath.c
@@ -42,7 +42,7 @@ qca_wlan_vendor_ndp_policy[QCA_WLAN_VENDOR_ATTR_NDP_PARAMS_MAX + 1] = {
[QCA_WLAN_VENDOR_ATTR_NDP_TRANSACTION_ID] = { .type = NLA_U16 },
[QCA_WLAN_VENDOR_ATTR_NDP_IFACE_STR] = { .type = NLA_STRING,
.len = IFNAMSIZ },
- [QCA_WLAN_VENDOR_ATTR_NDP_SERVICE_INSTANCE_ID] = { .type = NLA_U16 },
+ [QCA_WLAN_VENDOR_ATTR_NDP_SERVICE_INSTANCE_ID] = { .type = NLA_U32 },
[QCA_WLAN_VENDOR_ATTR_NDP_CHANNEL] = { .type = NLA_U32 },
[QCA_WLAN_VENDOR_ATTR_NDP_PEER_DISCOVERY_MAC_ADDR] = {
.type = NLA_BINARY,
@@ -518,7 +518,7 @@ static int hdd_ndp_initiator_req_handler(hdd_context_t *hdd_ctx,
return -EINVAL;
}
req.service_instance_id =
- nla_get_u16(tb[QCA_WLAN_VENDOR_ATTR_NDP_SERVICE_INSTANCE_ID]);
+ nla_get_u32(tb[QCA_WLAN_VENDOR_ATTR_NDP_SERVICE_INSTANCE_ID]);
vos_mem_copy(req.self_ndi_mac_addr.bytes,
adapter->macAddressCurrent.bytes, VOS_MAC_ADDR_SIZE);
@@ -1305,7 +1305,7 @@ ndp_confirm_nla_failed:
* QCA_WLAN_VENDOR_ATTR_NDP_SUBCMD =
* QCA_WLAN_VENDOR_ATTR_NDP_REQUEST_IND (4 bytes)
* QCA_WLAN_VENDOR_ATTR_NDP_IFACE_STR (IFNAMSIZ)
- * QCA_WLAN_VENDOR_ATTR_NDP_SERVICE_INSTANCE_ID (2 bytes)
+ * QCA_WLAN_VENDOR_ATTR_NDP_SERVICE_INSTANCE_ID (4 bytes)
* QCA_WLAN_VENDOR_ATTR_NDP_NDI_MAC_ADDR (6 bytes)
* QCA_WLAN_VENDOR_ATTR_NDP_PEER_DISCOVERY_MAC_ADDR (6 bytes)
* QCA_WLAN_VENDOR_ATTR_NDP_INSTANCE_ID (4 bytes)
@@ -1366,10 +1366,9 @@ static void hdd_ndp_indication_handler(hdd_adapter_t *adapter,
return;
}
- data_len = 3 * sizeof(uint32_t) + sizeof(uint16_t) +
- 2 * VOS_MAC_ADDR_SIZE + IFNAMSIZ +
- event->ndp_info.ndp_app_info_len + 8 * NLA_HDRLEN +
- NLMSG_HDRLEN;
+ data_len = (4 * sizeof(uint32_t)) + (2 * VOS_MAC_ADDR_SIZE) + IFNAMSIZ +
+ event->ndp_info.ndp_app_info_len + (8 * NLA_HDRLEN) +
+ NLMSG_HDRLEN;
/* notify response to the upper layer */
vendor_event = cfg80211_vendor_event_alloc(hdd_ctx->wiphy,
@@ -1389,7 +1388,7 @@ static void hdd_ndp_indication_handler(hdd_adapter_t *adapter,
IFNAMSIZ, adapter->dev->name))
goto ndp_indication_nla_failed;
- if (nla_put_u16(vendor_event,
+ if (nla_put_u32(vendor_event,
QCA_WLAN_VENDOR_ATTR_NDP_SERVICE_INSTANCE_ID,
event->service_instance_id))
goto ndp_indication_nla_failed;
diff --git a/CORE/MAC/inc/qwlan_version.h b/CORE/MAC/inc/qwlan_version.h
index 35d07b75f0ee..edff320a77ac 100644
--- a/CORE/MAC/inc/qwlan_version.h
+++ b/CORE/MAC/inc/qwlan_version.h
@@ -42,9 +42,9 @@ BRIEF DESCRIPTION:
#define QWLAN_VERSION_MINOR 0
#define QWLAN_VERSION_PATCH 11
#define QWLAN_VERSION_EXTRA ""
-#define QWLAN_VERSION_BUILD 97
+#define QWLAN_VERSION_BUILD 99
-#define QWLAN_VERSIONSTR "4.0.11.97"
+#define QWLAN_VERSIONSTR "4.0.11.99"
#define AR6320_REV1_VERSION 0x5000000
diff --git a/CORE/MAC/inc/sirApi.h b/CORE/MAC/inc/sirApi.h
index a268e2d0efbb..c4b2bfcd456d 100644
--- a/CORE/MAC/inc/sirApi.h
+++ b/CORE/MAC/inc/sirApi.h
@@ -694,7 +694,7 @@ typedef struct sSirSmeStartBssReq
tANI_BOOLEAN obssEnabled;
uint8_t sap_dot11mc;
bool vendor_vht_for_24ghz_sap;
-
+ uint8_t beacon_tx_rate;
} tSirSmeStartBssReq, *tpSirSmeStartBssReq;
#define GET_IE_LEN_IN_BSS(lenInBss) ( lenInBss + sizeof(lenInBss) - \
diff --git a/CORE/MAC/src/pe/include/limSession.h b/CORE/MAC/src/pe/include/limSession.h
index 5d7e390b5036..73b5eebbf7bf 100644
--- a/CORE/MAC/src/pe/include/limSession.h
+++ b/CORE/MAC/src/pe/include/limSession.h
@@ -505,6 +505,9 @@ typedef struct sPESession // Added to Support BT-AMP
uint8_t vendor_specific_vht_ie_type;
uint8_t vendor_specific_vht_ie_sub_type;
bool vendor_vht_for_24ghz_sap;
+ uint8_t beacon_tx_rate;
+ uint8_t *vendor_ie;
+ uint8_t access_policy;
} tPESession, *tpPESession;
diff --git a/CORE/MAC/src/pe/lim/limTypes.h b/CORE/MAC/src/pe/lim/limTypes.h
index 7db111bea32c..fd2d640a95e9 100644
--- a/CORE/MAC/src/pe/lim/limTypes.h
+++ b/CORE/MAC/src/pe/lim/limTypes.h
@@ -193,6 +193,7 @@ typedef struct sLimMlmStartReq
tANI_U8 ssidHidden;
tANI_U8 wps_state;
tANI_U8 obssProtEnabled;
+ uint8_t beacon_tx_rate;
} tLimMlmStartReq, *tpLimMlmStartReq;
typedef struct sLimMlmStartCnf
diff --git a/CORE/SAP/inc/sapApi.h b/CORE/SAP/inc/sapApi.h
index c3ce85ac3791..52229f1e71af 100644
--- a/CORE/SAP/inc/sapApi.h
+++ b/CORE/SAP/inc/sapApi.h
@@ -471,6 +471,20 @@ enum sap_acs_dfs_mode {
ACS_DFS_MODE_DEPRIORITIZE
};
+/*
+ * enum vendor_ie_access_policy- access policy
+ * @ACCESS_POLICY_NONE: access policy attribute is not valid
+ * @ACCESS_POLICY_RESPOND_IF_IE_IS_PRESENT: respond to probe req/assoc req
+ * only if ie is present
+ * @ACCESS_POLICY_DONOT_RESPOND_IF_IE_IS_PRESENT: do not respond to probe req/
+ * assoc req if ie is present
+ */
+enum vendor_ie_access_policy {
+ ACCESS_POLICY_NONE,
+ ACCESS_POLICY_RESPOND_IF_IE_IS_PRESENT,
+ ACCESS_POLICY_DONOT_RESPOND_IF_IE_IS_PRESENT,
+};
+
typedef struct sap_Config {
tSap_SSIDInfo_t SSIDinfo;
eCsrPhyMode SapHw_mode; /* Wireless Mode */
@@ -533,6 +547,17 @@ typedef struct sap_Config {
v_PVOID_t pProbeRespBcnIEsBuffer; /* buffer for addn ies comes from hostapd*/
uint8_t sap_dot11mc; /* Specify if 11MC is enabled or disabled*/
enum sap_acs_dfs_mode acs_dfs_mode;
+
+ uint8_t beacon_tx_rate;
+ uint8_t *vendor_ie;
+ enum vendor_ie_access_policy vendor_ie_access_policy;
+ uint16_t sta_inactivity_timeout;
+ uint16_t tx_pkt_fail_cnt_threshold;
+ uint8_t short_retry_limit;
+ uint8_t long_retry_limit;
+ uint8_t ampdu_size;
+ tSirMacRateSet supp_rate_set;
+ tSirMacRateSet extended_rate_set;
} tsap_Config_t;
#ifdef FEATURE_WLAN_AP_AP_ACS_OPTIMIZE
diff --git a/CORE/SAP/src/sapInternal.h b/CORE/SAP/src/sapInternal.h
index ce77ba6dc07e..d2342d150d84 100644
--- a/CORE/SAP/src/sapInternal.h
+++ b/CORE/SAP/src/sapInternal.h
@@ -302,6 +302,11 @@ typedef struct sSapContext {
struct sap_avoid_channels_info sap_detected_avoid_ch_ie;
#endif /* FEATURE_AP_MCC_CH_AVOIDANCE */
enum sap_acs_dfs_mode dfs_mode;
+
+ uint8_t beacon_tx_rate;
+ tSirMacRateSet supp_rate_set;
+ tSirMacRateSet extended_rate_set;
+
} *ptSapContext;
diff --git a/CORE/SERVICES/COMMON/ol_htt_api.h b/CORE/SERVICES/COMMON/ol_htt_api.h
index 8d9262fae713..068624c77f22 100644
--- a/CORE/SERVICES/COMMON/ol_htt_api.h
+++ b/CORE/SERVICES/COMMON/ol_htt_api.h
@@ -332,5 +332,6 @@ void htt_register_rx_pkt_dump_callback(struct htt_pdev_t *pdev,
tp_rx_pkt_dump_cb ol_rx_pkt_dump_call);
void htt_deregister_rx_pkt_dump_callback(struct htt_pdev_t *pdev);
void ol_rx_pkt_dump_call(adf_nbuf_t msdu, uint16_t peer_id, uint8_t status);
+void htt_mark_first_wakeup_packet(htt_pdev_handle pdev, uint8_t value);
#endif /* _OL_HTT_API__H_ */
diff --git a/CORE/SERVICES/COMMON/ol_txrx_ctrl_api.h b/CORE/SERVICES/COMMON/ol_txrx_ctrl_api.h
index cd2e7fed0ecd..cc18608858fa 100644
--- a/CORE/SERVICES/COMMON/ol_txrx_ctrl_api.h
+++ b/CORE/SERVICES/COMMON/ol_txrx_ctrl_api.h
@@ -1479,5 +1479,6 @@ void ol_txrx_clear_stats(struct ol_txrx_pdev_t *pdev, uint16_t bitmap);
void ol_rx_reset_pn_replay_counter(struct ol_txrx_pdev_t *pdev);
uint32_t ol_rx_get_tkip_replay_counter(struct ol_txrx_pdev_t *pdev);
uint32_t ol_rx_get_ccmp_replay_counter(struct ol_txrx_pdev_t *pdev);
+void ol_tx_mark_first_wakeup_packet(uint8_t value);
#endif /* _OL_TXRX_CTRL_API__H_ */
diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c
index d05dd39224ca..f3a14e7ddbb4 100644
--- a/CORE/SERVICES/WMA/wma.c
+++ b/CORE/SERVICES/WMA/wma.c
@@ -33704,6 +33704,10 @@ v_VOID_t wma_rx_service_ready_event(WMA_HANDLE handle, void *cmd_param_info)
return;
}
+ ol_tx_mark_first_wakeup_packet(
+ WMI_SERVICE_IS_ENABLED(wma_handle->wmi_service_bitmap,
+ WMI_SERVICE_MARK_FIRST_WAKEUP_PACKET));
+
wma_handle->nan_datapath_enabled =
WMI_SERVICE_IS_ENABLED(wma_handle->wmi_service_bitmap,
WMI_SERVICE_NAN_DATA);
diff --git a/CORE/SERVICES/WMA/wma.h b/CORE/SERVICES/WMA/wma.h
index 4c2790cdbe01..07029837234a 100644
--- a/CORE/SERVICES/WMA/wma.h
+++ b/CORE/SERVICES/WMA/wma.h
@@ -1339,6 +1339,7 @@ struct wma_vdev_start_req {
u_int8_t dot11_mode;
bool is_half_rate;
bool is_quarter_rate;
+ u_int8_t beacon_tx_rate;
};
struct wma_set_key_params {
diff --git a/CORE/SME/inc/csrApi.h b/CORE/SME/inc/csrApi.h
index 53c403aa32b7..06965b4b713c 100644
--- a/CORE/SME/inc/csrApi.h
+++ b/CORE/SME/inc/csrApi.h
@@ -1015,6 +1015,9 @@ typedef struct tagCsrRoamProfile
tSirAddIeParams addIeParams;
uint8_t sap_dot11mc;
bool do_not_roam;
+ uint8_t beacon_tx_rate;
+ tSirMacRateSet supp_rate_set;
+ tSirMacRateSet extended_rate_set;
}tCsrRoamProfile;
diff --git a/CORE/SME/inc/csrInternal.h b/CORE/SME/inc/csrInternal.h
index 06d30b57e5dd..57a960ab838d 100644
--- a/CORE/SME/inc/csrInternal.h
+++ b/CORE/SME/inc/csrInternal.h
@@ -387,6 +387,7 @@ typedef struct tagCsrRoamStartBssParams
tSirAddIeParams addIeParams;
uint8_t sap_dot11mc;
+ uint8_t beacon_tx_rate;
}tCsrRoamStartBssParams;
diff --git a/CORE/WDA/inc/legacy/halMsgApi.h b/CORE/WDA/inc/legacy/halMsgApi.h
index 68f2bf5e84e7..6b3bea85fdb4 100644
--- a/CORE/WDA/inc/legacy/halMsgApi.h
+++ b/CORE/WDA/inc/legacy/halMsgApi.h
@@ -544,6 +544,7 @@ typedef struct
uint8_t nss_5g;
uint32_t tx_aggregation_size;
uint32_t rx_aggregation_size;
+ uint8_t beacon_tx_rate;
} tAddBssParams, * tpAddBssParams;
typedef struct