qcacld-3.0: Refactor sta add bss in wma and lim
Devide wma_add_bss_sta_mode into 4 functions for 4 cases:
1. wma_pre_assoc_req, called before sta assoc, config vdev
params.
2. wma_send_peer_assoc_req, called after sta associated, send
peer assoc cmd to F/W.
3. LFR3 add bss
4. LFR2 add bss and vdev start
Lim will call these functions directly instead of post msg to
wma.
Replace lim_set_link_state with wma_add_bss_peer_sta to create
peer for LFR2 roaming.
Clean up all link state usless code now.
Change-Id: I6ad19bb92e7b0334704ac9c930277e9c35abbee2
CRs-Fixed: 2510119
diff --git a/core/wma/inc/wma.h b/core/wma/inc/wma.h
index d04a875..1b96354 100644
--- a/core/wma/inc/wma.h
+++ b/core/wma/inc/wma.h
@@ -754,7 +754,7 @@
enum phy_ch_width chan_width;
bool vdev_active;
uint64_t tsfadjust;
- void *addBssStaContext;
+ tAddStaParams *addBssStaContext;
uint8_t aid;
uint8_t rmfEnabled;
#ifdef WLAN_FEATURE_11W
@@ -770,7 +770,7 @@
int8_t tx_power;
int8_t max_tx_power;
uint32_t nwType;
- void *staKeyParams;
+ tSetStaKeyParams *staKeyParams;
uint32_t peer_count;
bool roam_synch_in_progress;
void *plink_status_req;
@@ -2546,4 +2546,38 @@
*/
QDF_STATUS wma_send_vdev_stop(uint8_t vdev_id);
+/**
+ * wma_pre_assoc_req() - wma pre assoc req when sta connect
+ * @add_bss: add bss param
+ *
+ * Return: QDF_STATUS
+ */
+QDF_STATUS wma_pre_assoc_req(struct bss_params *add_bss);
+
+/**
+ * wma_add_bss_lfr3() - add bss during LFR3 offload roaming
+ * @wma: wma handler
+ * @add_bss: add bss param
+ *
+ * Return: None
+ */
+void wma_add_bss_lfr3(tp_wma_handle wma, struct bss_params *add_bss);
+
+#ifdef WLAN_FEATURE_HOST_ROAM
+/**
+ * wma_add_bss_lfr2_vdev_start() - add bss and start vdev during host roaming
+ * @add_bss: add bss param
+ *
+ * Return: None
+ */
+QDF_STATUS wma_add_bss_lfr2_vdev_start(struct bss_params *add_bss);
+#endif
+
+/**
+ * wma_send_peer_assoc_req() - wma send peer assoc req when sta connect
+ * @add_bss: add bss param
+ *
+ * Return: None
+ */
+QDF_STATUS wma_send_peer_assoc_req(struct bss_params *add_bss);
#endif