diff --git a/Kbuild b/Kbuild index 622c135230..fe1f398039 100644 --- a/Kbuild +++ b/Kbuild @@ -610,7 +610,6 @@ OS_IF_DIR := $(WLAN_COMMON_ROOT)/os_if OS_IF_INC += -I$(WLAN_COMMON_INC)/os_if/linux \ -I$(WLAN_COMMON_INC)/os_if/linux/scan/inc \ -I$(WLAN_COMMON_INC)/os_if/linux/spectral/inc \ - -I$(WLAN_COMMON_INC)/os_if/linux/tdls/inc \ -I$(WLAN_COMMON_INC)/os_if/linux/crypto/inc OS_IF_OBJ += $(OS_IF_DIR)/linux/wlan_osif_request_manager.o \ @@ -1000,20 +999,26 @@ POLICY_MGR_OBJS := $(POLICY_MGR_DIR)/src/wlan_policy_mgr_action.o \ $(POLICY_MGR_DIR)/src/wlan_policy_mgr_pcl.o \ ###### UMAC TDLS ######## -UMAC_TDLS_DIR := $(WLAN_COMMON_ROOT)/umac/tdls +TDLS_DIR := components/tdls -UMAC_TDLS_INC := -I$(WLAN_COMMON_INC)/umac/tdls/dispatcher/inc - -UMAC_TDLS_OBJS := $(UMAC_TDLS_DIR)/core/src/wlan_tdls_main.o \ - $(UMAC_TDLS_DIR)/core/src/wlan_tdls_cmds_process.o \ - $(UMAC_TDLS_DIR)/core/src/wlan_tdls_peer.o \ - $(UMAC_TDLS_DIR)/core/src/wlan_tdls_mgmt.o \ - $(UMAC_TDLS_DIR)/core/src/wlan_tdls_ct.o \ - $(UMAC_TDLS_DIR)/dispatcher/src/wlan_tdls_tgt_api.o \ - $(UMAC_TDLS_DIR)/dispatcher/src/wlan_tdls_ucfg_api.o \ - $(UMAC_TDLS_DIR)/dispatcher/src/wlan_tdls_utils_api.o \ - $(UMAC_TDLS_DIR)/dispatcher/src/wlan_tdls_cfg.o \ - $(WLAN_COMMON_ROOT)/os_if/linux/tdls/src/wlan_cfg80211_tdls.o +TDLS_OS_IF_INC := os_if/tdls/inc +TDLS_OS_IF_SRC := os_if/tdls/src +TDLS_TARGET_IF_INC := components/target_if/tdls/inc +TDLS_TARGET_IF_SRC := components/target_if/tdls/src +TDLS_INC := -I$(WLAN_ROOT)/$(TDLS_DIR)/dispatcher/inc \ + -I$(WLAN_ROOT)/$(TDLS_OS_IF_INC) \ + -I$(WLAN_ROOT)/$(TDLS_TARGET_IF_INC) +TDLS_OBJS := $(TDLS_DIR)/core/src/wlan_tdls_main.o \ + $(TDLS_DIR)/core/src/wlan_tdls_cmds_process.o \ + $(TDLS_DIR)/core/src/wlan_tdls_peer.o \ + $(TDLS_DIR)/core/src/wlan_tdls_mgmt.o \ + $(TDLS_DIR)/core/src/wlan_tdls_ct.o \ + $(TDLS_DIR)/dispatcher/src/wlan_tdls_tgt_api.o \ + $(TDLS_DIR)/dispatcher/src/wlan_tdls_ucfg_api.o \ + $(TDLS_DIR)/dispatcher/src/wlan_tdls_utils_api.o \ + $(TDLS_DIR)/dispatcher/src/wlan_tdls_cfg.o \ + $(TDLS_OS_IF_SRC)/wlan_cfg80211_tdls.o \ + $(TDLS_TARGET_IF_SRC)/target_if_tdls.o ########### BMI ########### BMI_DIR := core/bmi @@ -1034,11 +1039,9 @@ TARGET_IF_INC := -I$(WLAN_COMMON_INC)/target_if/core/inc \ -I$(WLAN_COMMON_INC)/target_if/core/src \ -I$(WLAN_COMMON_INC)/target_if/init_deinit/inc \ -I$(WLAN_COMMON_INC)/target_if/regulatory/inc \ - -I$(WLAN_COMMON_INC)/target_if/tdls/inc TARGET_IF_OBJ := $(TARGET_IF_DIR)/core/src/target_if_main.o \ $(TARGET_IF_DIR)/regulatory/src/target_if_reg.o \ - $(TARGET_IF_DIR)/tdls/src/target_if_tdls.o \ $(TARGET_IF_DIR)/init_deinit/src/init_cmd_api.o \ $(TARGET_IF_DIR)/init_deinit/src/init_deinit_lmac.o \ $(TARGET_IF_DIR)/init_deinit/src/init_event_handler.o \ @@ -1717,7 +1720,7 @@ INCS += $(PMO_INC) INCS += $(P2P_INC) INCS += $(POLICY_MGR_INC) INCS += $(TARGET_INC) -INCS += $(UMAC_TDLS_INC) +INCS += $(TDLS_INC) INCS += $(UMAC_SER_INC) INCS += $(NLINK_INC) \ $(PTT_INC) \ @@ -1801,7 +1804,7 @@ OBJS += $(WIFI_POS_OBJS) OBJS += $(CP_STATS_OBJS) OBJS += $(WLAN_NAN_OBJS) OBJS += $(UMAC_MGMT_TXRX_OBJS) -OBJS += $(UMAC_TDLS_OBJS) +OBJS += $(TDLS_OBJS) OBJS += $(PMO_OBJS) OBJS += $(P2P_OBJS) OBJS += $(POLICY_MGR_OBJS) diff --git a/components/tdls/dispatcher/inc/wlan_tdls_public_structs.h b/components/tdls/dispatcher/inc/wlan_tdls_public_structs.h index 07bc155d95..212895974e 100644 --- a/components/tdls/dispatcher/inc/wlan_tdls_public_structs.h +++ b/components/tdls/dispatcher/inc/wlan_tdls_public_structs.h @@ -30,6 +30,7 @@ #include #include +struct wlan_objmgr_psoc; #define WLAN_TDLS_STA_MAX_NUM 8 #define WLAN_TDLS_STA_P_UAPSD_OFFCHAN_MAX_NUM 1 diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index d0242e4afa..6652ba3e5c 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -13025,8 +13025,14 @@ static QDF_STATUS hdd_component_init(void) if (QDF_IS_STATUS_ERROR(status)) goto p2p_deinit; + status = ucfg_tdls_init(); + if (QDF_IS_STATUS_ERROR(status)) + goto policy_deinit; + return QDF_STATUS_SUCCESS; +policy_deinit: + policy_mgr_deinit(); p2p_deinit: ucfg_p2p_deinit(); nan_deinit: @@ -13059,6 +13065,7 @@ dispatcher_deinit: static void hdd_component_deinit(void) { /* deinitialize non-converged components */ + ucfg_tdls_deinit(); policy_mgr_deinit(); ucfg_p2p_deinit(); nan_deinit(); @@ -13097,8 +13104,15 @@ QDF_STATUS hdd_component_psoc_open(struct wlan_objmgr_psoc *psoc) status = ucfg_p2p_psoc_open(psoc); if (QDF_IS_STATUS_ERROR(status)) goto err_p2p; + + status = ucfg_tdls_psoc_open(psoc); + if (QDF_IS_STATUS_ERROR(status)) + goto err_tdls; + return status; +err_tdls: + ucfg_tdls_psoc_close(psoc); err_p2p: ucfg_p2p_psoc_close(psoc); err_plcy_mgr: @@ -13113,6 +13127,7 @@ err_fwol: void hdd_component_psoc_close(struct wlan_objmgr_psoc *psoc) { + ucfg_tdls_psoc_close(psoc); ucfg_p2p_psoc_close(psoc); ucfg_policy_mgr_psoc_close(psoc); ucfg_pmo_psoc_close(psoc);