summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/hdd/inc/wlan_hdd_tdls.h18
-rw-r--r--core/hdd/src/wlan_hdd_hostapd.c7
-rw-r--r--core/hdd/src/wlan_hdd_main.c59
-rw-r--r--core/hdd/src/wlan_hdd_tdls.c8
4 files changed, 60 insertions, 32 deletions
diff --git a/core/hdd/inc/wlan_hdd_tdls.h b/core/hdd/inc/wlan_hdd_tdls.h
index 4c6a12f85900..7167df250ef2 100644
--- a/core/hdd/inc/wlan_hdd_tdls.h
+++ b/core/hdd/inc/wlan_hdd_tdls.h
@@ -951,4 +951,22 @@ static inline void hdd_wlan_block_scan_by_tdls_event(void) {}
void process_rx_tdls_disc_resp_frame(hdd_adapter_t *adapter,
uint8_t *peer_addr, int8_t rx_rssi);
+#ifdef FEATURE_WLAN_TDLS
+/**
+ * hdd_tdls_init_completion() - Initialize completion var
+ * @adapter: Hdd adapter
+ *
+ * This function Initialize the completion variables for a
+ * particular adapter
+ *
+ * Return: none
+ */
+void hdd_tdls_init_completion(hdd_adapter_t *adapter);
+#else
+static inline void
+hdd_tdls_init_completion(hdd_adapter_t *adapter)
+{
+}
+#endif /* End of FEATURE_WLAN_TDLS */
+
#endif /* __HDD_TDLS_H */
diff --git a/core/hdd/src/wlan_hdd_hostapd.c b/core/hdd/src/wlan_hdd_hostapd.c
index b8d2ff72750a..863313648f8a 100644
--- a/core/hdd/src/wlan_hdd_hostapd.c
+++ b/core/hdd/src/wlan_hdd_hostapd.c
@@ -6652,13 +6652,6 @@ hdd_adapter_t *hdd_wlan_create_ap_dev(hdd_context_t *pHddCtx,
pHostapdAdapter->wdev.wiphy = pHddCtx->wiphy;
pHostapdAdapter->wdev.netdev = pWlanHostapdDev;
hdd_set_tso_flags(pHddCtx, pWlanHostapdDev);
- init_completion(&pHostapdAdapter->tx_action_cnf_event);
- init_completion(&pHostapdAdapter->cancel_rem_on_chan_var);
- init_completion(&pHostapdAdapter->rem_on_chan_ready_event);
- init_completion(&pHostapdAdapter->sta_authorized_event);
- init_completion(&pHostapdAdapter->offchannel_tx_event);
- init_completion(&pHostapdAdapter->scan_info.
- abortscan_event_var);
SET_NETDEV_DEV(pWlanHostapdDev, pHddCtx->parent_dev);
spin_lock_init(&pHostapdAdapter->pause_map_lock);
diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c
index d2022d9553cf..6a40527d6577 100644
--- a/core/hdd/src/wlan_hdd_main.c
+++ b/core/hdd/src/wlan_hdd_main.c
@@ -3253,31 +3253,6 @@ static hdd_adapter_t *hdd_alloc_station_adapter(hdd_context_t *hdd_ctx,
goto err_qdf_init;
}
- init_completion(&adapter->disconnect_comp_var);
- init_completion(&adapter->roaming_comp_var);
- init_completion(&adapter->linkup_event_var);
- init_completion(&adapter->cancel_rem_on_chan_var);
- init_completion(&adapter->rem_on_chan_ready_event);
- init_completion(&adapter->sta_authorized_event);
- init_completion(&adapter->offchannel_tx_event);
- init_completion(&adapter->tx_action_cnf_event);
-#ifdef FEATURE_WLAN_TDLS
- init_completion(&adapter->tdls_add_station_comp);
- init_completion(&adapter->tdls_del_station_comp);
- init_completion(&adapter->tdls_mgmt_comp);
- init_completion(&adapter->tdls_link_establish_req_comp);
-#endif
- init_completion(&adapter->ibss_peer_info_comp);
- qdf_status = qdf_event_create(&adapter->change_country_code);
- if (QDF_IS_STATUS_ERROR(qdf_status)) {
- hdd_err("Change country code event init failed!");
- goto err_qdf_init;
- }
-
-
- init_completion(&adapter->scan_info.abortscan_event_var);
- init_completion(&adapter->lfr_fw_status.disable_lfr_event);
-
adapter->offloads_configured = false;
adapter->isLinkUpSvcNeeded = false;
adapter->higherDtimTransition = true;
@@ -4358,6 +4333,39 @@ static QDF_STATUS hdd_attach_adapter(hdd_context_t *hdd_ctx,
}
/**
+ * hdd_init_completion() - Initialize Completion Variables
+ * @adapter: HDD adapter
+ *
+ * This function Initialize the completion variables for
+ * a particular adapter
+ *
+ * Return: None
+ */
+
+static void hdd_init_completion(hdd_adapter_t *adapter)
+{
+ QDF_STATUS qdf_status;
+
+ init_completion(&adapter->disconnect_comp_var);
+ init_completion(&adapter->roaming_comp_var);
+ init_completion(&adapter->linkup_event_var);
+ init_completion(&adapter->cancel_rem_on_chan_var);
+ init_completion(&adapter->rem_on_chan_ready_event);
+ init_completion(&adapter->sta_authorized_event);
+ init_completion(&adapter->offchannel_tx_event);
+ init_completion(&adapter->tx_action_cnf_event);
+ init_completion(&adapter->ibss_peer_info_comp);
+ qdf_status = qdf_event_create(&adapter->change_country_code);
+ if (QDF_IS_STATUS_ERROR(qdf_status)) {
+ hdd_err("Change country code event init failed!");
+ }
+ init_completion(&adapter->scan_info.abortscan_event_var);
+ init_completion(&adapter->lfr_fw_status.disable_lfr_event);
+
+ hdd_tdls_init_completion(adapter);
+}
+
+/**
* hdd_open_adapter() - open and setup the hdd adatper
* @hdd_ctx: global hdd context
* @session_type: type of the interface to be created
@@ -4551,6 +4559,7 @@ hdd_adapter_t *hdd_open_adapter(hdd_context_t *hdd_ctx, uint8_t session_type,
return NULL;
}
+ hdd_init_completion(adapter);
INIT_WORK(&adapter->scan_block_work, wlan_hdd_cfg80211_scan_block_cb);
qdf_list_create(&adapter->blocked_scan_request_q,
CFG_MAX_SCAN_COUNT_MAX);
diff --git a/core/hdd/src/wlan_hdd_tdls.c b/core/hdd/src/wlan_hdd_tdls.c
index 786b6723187f..a49ecdc68d15 100644
--- a/core/hdd/src/wlan_hdd_tdls.c
+++ b/core/hdd/src/wlan_hdd_tdls.c
@@ -6590,3 +6590,11 @@ revert_tdls_mode:
HDD_SET_TDLS_MODE_SOURCE_POLICY_MGR);
}
}
+
+void hdd_tdls_init_completion(hdd_adapter_t *adapter)
+{
+ init_completion(&adapter->tdls_add_station_comp);
+ init_completion(&adapter->tdls_del_station_comp);
+ init_completion(&adapter->tdls_mgmt_comp);
+ init_completion(&adapter->tdls_link_establish_req_comp);
+}