qcacld-3.0: Replace blacklist/whitelist for denylist/allowlist

Replace blacklist/whitelist with denylist/allowlist for
blacklist manager component. and replace blm with dlm.

Change-Id: I8dec146d8cb3b61dc891b72bea44704b8ab733fe
CRs-Fixed: 3087575
This commit is contained in:
chunquan
2021-12-15 19:05:20 +08:00
committed by Madan Koyyalamudi
parent 2d84395960
commit 51509a327f
34 changed files with 1161 additions and 1132 deletions

8
Kbuild
View File

@@ -1551,12 +1551,12 @@ MLME_OBJS += $(WFA_TGT_IF_DIR)/src/target_if_wfa_testcmd.o \
$(call add-wlan-objs,mlme,$(MLME_OBJS)) $(call add-wlan-objs,mlme,$(MLME_OBJS))
####### BLACKLIST_MGR ######## ####### DENYLIST_MGR ########
BLM_DIR := components/blacklist_mgr BLM_DIR := components/blacklist_mgr
BLM_INC := -I$(WLAN_ROOT)/$(BLM_DIR)/core/inc \ BLM_INC := -I$(WLAN_ROOT)/$(BLM_DIR)/core/inc \
-I$(WLAN_ROOT)/$(BLM_DIR)/dispatcher/inc -I$(WLAN_ROOT)/$(BLM_DIR)/dispatcher/inc
ifeq ($(CONFIG_FEATURE_BLACKLIST_MGR), y) ifeq ($(CONFIG_FEATURE_DENYLIST_MGR), y)
BLM_OBJS := $(BLM_DIR)/core/src/wlan_blm_main.o \ BLM_OBJS := $(BLM_DIR)/core/src/wlan_blm_main.o \
$(BLM_DIR)/core/src/wlan_blm_core.o \ $(BLM_DIR)/core/src/wlan_blm_core.o \
$(BLM_DIR)/dispatcher/src/wlan_blm_ucfg_api.o \ $(BLM_DIR)/dispatcher/src/wlan_blm_ucfg_api.o \
@@ -1665,7 +1665,7 @@ CLD_TARGET_IF_INC += -I$(WLAN_ROOT)/$(CLD_TARGET_IF_DIR)/disa/inc
CLD_TARGET_IF_OBJ += $(CLD_TARGET_IF_DIR)/disa/src/target_if_disa.o CLD_TARGET_IF_OBJ += $(CLD_TARGET_IF_DIR)/disa/src/target_if_disa.o
endif endif
ifeq ($(CONFIG_FEATURE_BLACKLIST_MGR), y) ifeq ($(CONFIG_FEATURE_DENYLIST_MGR), y)
CLD_TARGET_IF_INC += -I$(WLAN_ROOT)/$(CLD_TARGET_IF_DIR)/blacklist_mgr/inc CLD_TARGET_IF_INC += -I$(WLAN_ROOT)/$(CLD_TARGET_IF_DIR)/blacklist_mgr/inc
CLD_TARGET_IF_OBJ += $(CLD_TARGET_IF_DIR)/blacklist_mgr/src/target_if_blm.o CLD_TARGET_IF_OBJ += $(CLD_TARGET_IF_DIR)/blacklist_mgr/src/target_if_blm.o
endif endif
@@ -2933,7 +2933,7 @@ cppflags-$(CONFIG_REG_CLIENT) += -DCONFIG_REG_CLIENT
cppflags-$(CONFIG_WLAN_PMO_ENABLE) += -DWLAN_PMO_ENABLE cppflags-$(CONFIG_WLAN_PMO_ENABLE) += -DWLAN_PMO_ENABLE
cppflags-$(CONFIG_CONVERGED_P2P_ENABLE) += -DCONVERGED_P2P_ENABLE cppflags-$(CONFIG_CONVERGED_P2P_ENABLE) += -DCONVERGED_P2P_ENABLE
cppflags-$(CONFIG_WLAN_POLICY_MGR_ENABLE) += -DWLAN_POLICY_MGR_ENABLE cppflags-$(CONFIG_WLAN_POLICY_MGR_ENABLE) += -DWLAN_POLICY_MGR_ENABLE
cppflags-$(CONFIG_FEATURE_BLACKLIST_MGR) += -DFEATURE_BLACKLIST_MGR cppflags-$(CONFIG_FEATURE_DENYLIST_MGR) += -DFEATURE_DENYLIST_MGR
cppflags-$(CONFIG_WAPI_BIG_ENDIAN) += -DFEATURE_WAPI_BIG_ENDIAN cppflags-$(CONFIG_WAPI_BIG_ENDIAN) += -DFEATURE_WAPI_BIG_ENDIAN
cppflags-$(CONFIG_SUPPORT_11AX) += -DSUPPORT_11AX cppflags-$(CONFIG_SUPPORT_11AX) += -DSUPPORT_11AX
cppflags-$(CONFIG_HDD_INIT_WITH_RTNL_LOCK) += -DCONFIG_HDD_INIT_WITH_RTNL_LOCK cppflags-$(CONFIG_HDD_INIT_WITH_RTNL_LOCK) += -DCONFIG_HDD_INIT_WITH_RTNL_LOCK

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2011-2021 The Linux Foundation. All rights reserved. * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -16,124 +17,124 @@
* PERFORMANCE OF THIS SOFTWARE. * PERFORMANCE OF THIS SOFTWARE.
*/ */
/** /**
* DOC: declare internal APIs related to the blacklist component * DOC: declare internal APIs related to the denylist component
*/ */
#ifndef _WLAN_BLM_CORE_H_ #ifndef _WLAN_DLM_CORE_H_
#define _WLAN_BLM_CORE_H_ #define _WLAN_DLM_CORE_H_
#include <wlan_blm_main.h> #include <wlan_blm_main.h>
#define BLM_IS_AP_AVOIDED_BY_USERSPACE(cur_node) \ #define DLM_IS_AP_AVOIDED_BY_USERSPACE(cur_node) \
cur_node->userspace_avoidlist (cur_node)->userspace_avoidlist
#define BLM_IS_AP_AVOIDED_BY_DRIVER(cur_node) \ #define DLM_IS_AP_AVOIDED_BY_DRIVER(cur_node) \
cur_node->driver_avoidlist (cur_node)->driver_avoidlist
#define BLM_IS_AP_BLACKLISTED_BY_USERSPACE(cur_node) \ #define DLM_IS_AP_DENYLISTED_BY_USERSPACE(cur_node) \
cur_node->userspace_blacklist (cur_node)->userspace_denylist
#define BLM_IS_AP_BLACKLISTED_BY_DRIVER(cur_node) \ #define DLM_IS_AP_DENYLISTED_BY_DRIVER(cur_node) \
cur_node->driver_blacklist (cur_node)->driver_denylist
#define BLM_IS_AP_IN_MONITOR_LIST(cur_node) \ #define DLM_IS_AP_IN_MONITOR_LIST(cur_node) \
cur_node->driver_monitorlist (cur_node)->driver_monitorlist
#define BLM_IS_AP_IN_RSSI_REJECT_LIST(cur_node) \ #define DLM_IS_AP_IN_RSSI_REJECT_LIST(cur_node) \
cur_node->rssi_reject_list (cur_node)->rssi_reject_list
#define BLM_IS_AP_IN_BLACKLIST(cur_node) \ #define DLM_IS_AP_IN_DENYLIST(cur_node) \
(BLM_IS_AP_BLACKLISTED_BY_USERSPACE(cur_node) | \ (DLM_IS_AP_DENYLISTED_BY_USERSPACE(cur_node) | \
BLM_IS_AP_BLACKLISTED_BY_DRIVER(cur_node) | \ DLM_IS_AP_DENYLISTED_BY_DRIVER(cur_node) | \
BLM_IS_AP_IN_RSSI_REJECT_LIST(cur_node)) DLM_IS_AP_IN_RSSI_REJECT_LIST(cur_node))
#define BLM_IS_AP_IN_AVOIDLIST(cur_node) \ #define DLM_IS_AP_IN_AVOIDLIST(cur_node) \
(BLM_IS_AP_AVOIDED_BY_USERSPACE(cur_node) | \ (DLM_IS_AP_AVOIDED_BY_USERSPACE(cur_node) | \
BLM_IS_AP_AVOIDED_BY_DRIVER(cur_node)) DLM_IS_AP_AVOIDED_BY_DRIVER(cur_node))
#define IS_AP_IN_USERSPACE_BLACKLIST_ONLY(cur_node) \ #define IS_AP_IN_USERSPACE_DENYLIST_ONLY(cur_node) \
(BLM_IS_AP_BLACKLISTED_BY_USERSPACE(cur_node) & \ (DLM_IS_AP_DENYLISTED_BY_USERSPACE(cur_node) & \
!(BLM_IS_AP_IN_AVOIDLIST(cur_node) | \ !(DLM_IS_AP_IN_AVOIDLIST(cur_node) | \
BLM_IS_AP_IN_MONITOR_LIST(cur_node) | \ DLM_IS_AP_IN_MONITOR_LIST(cur_node) | \
BLM_IS_AP_IN_RSSI_REJECT_LIST(cur_node) | \ DLM_IS_AP_IN_RSSI_REJECT_LIST(cur_node) | \
BLM_IS_AP_BLACKLISTED_BY_DRIVER(cur_node))) DLM_IS_AP_DENYLISTED_BY_DRIVER(cur_node)))
#define IS_AP_IN_MONITOR_LIST_ONLY(cur_node) \ #define IS_AP_IN_MONITOR_LIST_ONLY(cur_node) \
(BLM_IS_AP_IN_MONITOR_LIST(cur_node) & \ (DLM_IS_AP_IN_MONITOR_LIST(cur_node) & \
!(BLM_IS_AP_IN_AVOIDLIST(cur_node) | \ !(DLM_IS_AP_IN_AVOIDLIST(cur_node) | \
BLM_IS_AP_IN_BLACKLIST(cur_node))) DLM_IS_AP_IN_DENYLIST(cur_node)))
#define IS_AP_IN_AVOID_LIST_ONLY(cur_node) \ #define IS_AP_IN_AVOID_LIST_ONLY(cur_node) \
(BLM_IS_AP_IN_AVOIDLIST(cur_node) & \ (DLM_IS_AP_IN_AVOIDLIST(cur_node) & \
!(BLM_IS_AP_IN_MONITOR_LIST(cur_node) | \ !(DLM_IS_AP_IN_MONITOR_LIST(cur_node) | \
BLM_IS_AP_IN_BLACKLIST(cur_node))) DLM_IS_AP_IN_DENYLIST(cur_node)))
#define IS_AP_IN_DRIVER_BLACKLIST_ONLY(cur_node) \ #define IS_AP_IN_DRIVER_DENYLIST_ONLY(cur_node) \
(BLM_IS_AP_BLACKLISTED_BY_DRIVER(cur_node) & \ (DLM_IS_AP_DENYLISTED_BY_DRIVER(cur_node) & \
!(BLM_IS_AP_IN_AVOIDLIST(cur_node) | \ !(DLM_IS_AP_IN_AVOIDLIST(cur_node) | \
BLM_IS_AP_IN_MONITOR_LIST(cur_node) | \ DLM_IS_AP_IN_MONITOR_LIST(cur_node) | \
BLM_IS_AP_IN_RSSI_REJECT_LIST(cur_node) | \ DLM_IS_AP_IN_RSSI_REJECT_LIST(cur_node) | \
BLM_IS_AP_BLACKLISTED_BY_USERSPACE(cur_node))) DLM_IS_AP_DENYLISTED_BY_USERSPACE(cur_node)))
#define IS_AP_IN_RSSI_REJECT_LIST_ONLY(cur_node) \ #define IS_AP_IN_RSSI_REJECT_LIST_ONLY(cur_node) \
(BLM_IS_AP_IN_RSSI_REJECT_LIST(cur_node) & \ (DLM_IS_AP_IN_RSSI_REJECT_LIST(cur_node) & \
!(BLM_IS_AP_IN_AVOIDLIST(cur_node) | \ !(DLM_IS_AP_IN_AVOIDLIST(cur_node) | \
BLM_IS_AP_IN_MONITOR_LIST(cur_node) | \ DLM_IS_AP_IN_MONITOR_LIST(cur_node) | \
BLM_IS_AP_BLACKLISTED_BY_DRIVER(cur_node) | \ DLM_IS_AP_DENYLISTED_BY_DRIVER(cur_node) | \
BLM_IS_AP_BLACKLISTED_BY_USERSPACE(cur_node))) DLM_IS_AP_DENYLISTED_BY_USERSPACE(cur_node)))
#define IS_AP_IN_USERSPACE_AVOID_LIST_ONLY(cur_node) \ #define IS_AP_IN_USERSPACE_AVOID_LIST_ONLY(cur_node) \
(BLM_IS_AP_AVOIDED_BY_USERSPACE(cur_node) & \ (DLM_IS_AP_AVOIDED_BY_USERSPACE(cur_node) & \
!(BLM_IS_AP_AVOIDED_BY_DRIVER(cur_node) | \ !(DLM_IS_AP_AVOIDED_BY_DRIVER(cur_node) | \
BLM_IS_AP_IN_MONITOR_LIST(cur_node) | \ DLM_IS_AP_IN_MONITOR_LIST(cur_node) | \
BLM_IS_AP_IN_BLACKLIST(cur_node))) DLM_IS_AP_IN_DENYLIST(cur_node)))
#define IS_AP_IN_DRIVER_AVOID_LIST_ONLY(cur_node) \ #define IS_AP_IN_DRIVER_AVOID_LIST_ONLY(cur_node) \
(BLM_IS_AP_AVOIDED_BY_DRIVER(cur_node) & \ (DLM_IS_AP_AVOIDED_BY_DRIVER(cur_node) & \
!(BLM_IS_AP_AVOIDED_BY_USERSPACE(cur_node) | \ !(DLM_IS_AP_AVOIDED_BY_USERSPACE(cur_node) | \
BLM_IS_AP_IN_MONITOR_LIST(cur_node) | \ DLM_IS_AP_IN_MONITOR_LIST(cur_node) | \
BLM_IS_AP_IN_BLACKLIST(cur_node))) DLM_IS_AP_IN_DENYLIST(cur_node)))
/** /**
* struct blm_reject_ap_timestamp - Structure to store the reject list BSSIDs * struct dlm_reject_ap_timestamp - Structure to store the reject list BSSIDs
* entry time stamp. * entry time stamp.
* @userspace_avoid_timestamp: Time when userspace adds BSSID to avoid list. * @userspace_avoid_timestamp: Time when userspace adds BSSID to avoid list.
* @driver_avoid_timestamp: Time when driver adds BSSID to avoid list. * @driver_avoid_timestamp: Time when driver adds BSSID to avoid list.
* @userspace_blacklist_timestamp: Time when userspace adds BSSID to black list. * @userspace_denylist_timestamp: Time when userspace adds BSSID to deny list.
* @driver_blacklist_timestamp: Time when driver adds BSSID to black list. * @driver_denylist_timestamp: Time when driver adds BSSID to deny list.
* @rssi_reject_timestamp: Time when driver adds BSSID to rssi reject list. * @rssi_reject_timestamp: Time when driver adds BSSID to rssi reject list.
* @driver_monitor_timestamp: Time when driver adds BSSID to monitor list. * @driver_monitor_timestamp: Time when driver adds BSSID to monitor list.
*/ */
struct blm_reject_ap_timestamp { struct dlm_reject_ap_timestamp {
qdf_time_t userspace_avoid_timestamp; qdf_time_t userspace_avoid_timestamp;
qdf_time_t driver_avoid_timestamp; qdf_time_t driver_avoid_timestamp;
qdf_time_t userspace_blacklist_timestamp; qdf_time_t userspace_denylist_timestamp;
qdf_time_t driver_blacklist_timestamp; qdf_time_t driver_denylist_timestamp;
qdf_time_t rssi_reject_timestamp; qdf_time_t rssi_reject_timestamp;
qdf_time_t driver_monitor_timestamp; qdf_time_t driver_monitor_timestamp;
}; };
/** /**
* struct blm_reject_ap - Structure of a node added to blacklist manager * struct dlm_reject_ap - Structure of a node added to denylist manager
* @node: Node of the entry * @node: Node of the entry
* @bssid: Bssid of the AP entry. * @bssid: Bssid of the AP entry.
* @rssi_reject_params: Rssi reject params of the AP entry. * @rssi_reject_params: Rssi reject params of the AP entry.
* @bad_bssid_counter: It represent how many times data stall happened. * @bad_bssid_counter: It represent how many times data stall happened.
* @ap_timestamp: Ap timestamp. * @ap_timestamp: Ap timestamp.
* @reject_ap_type: what is the type of rejection for the AP (avoid, black etc.) * @reject_ap_type: what is the type of rejection for the AP (avoid, deny etc.)
* @reject_ap_reason: reason for adding the BSSID to BLM * @reject_ap_reason: reason for adding the BSSID to DLM
* @connect_timestamp: Timestamp when the STA got connected with this BSSID * @connect_timestamp: Timestamp when the STA got connected with this BSSID
*/ */
struct blm_reject_ap { struct dlm_reject_ap {
qdf_list_node_t node; qdf_list_node_t node;
struct qdf_mac_addr bssid; struct qdf_mac_addr bssid;
struct blm_rssi_disallow_params rssi_reject_params; struct dlm_rssi_disallow_params rssi_reject_params;
uint8_t bad_bssid_counter; uint8_t bad_bssid_counter;
struct blm_reject_ap_timestamp ap_timestamp; struct dlm_reject_ap_timestamp ap_timestamp;
union { union {
struct { struct {
uint8_t userspace_blacklist:1, uint8_t userspace_denylist:1,
driver_blacklist:1, driver_denylist:1,
userspace_avoidlist:1, userspace_avoidlist:1,
driver_avoidlist:1, driver_avoidlist:1,
rssi_reject_list:1, rssi_reject_list:1,
@@ -148,7 +149,7 @@ struct blm_reject_ap {
ho_fail:1, ho_fail:1,
poor_rssi:1, poor_rssi:1,
oce_assoc_reject:1, oce_assoc_reject:1,
blacklist_userspace:1, denylist_userspace:1,
avoid_userspace:1, avoid_userspace:1,
btm_disassoc_imminent:1, btm_disassoc_imminent:1,
btm_bss_termination:1, btm_bss_termination:1,
@@ -158,145 +159,145 @@ struct blm_reject_ap {
}; };
uint32_t reject_ap_reason; uint32_t reject_ap_reason;
}; };
enum blm_reject_ap_source source; enum dlm_reject_ap_source source;
qdf_time_t connect_timestamp; qdf_time_t connect_timestamp;
}; };
/** /**
* blm_add_bssid_to_reject_list() - Add BSSID to the specific reject list. * dlm_add_bssid_to_reject_list() - Add BSSID to the specific reject list.
* @pdev: Pdev object * @pdev: Pdev object
* @ap_info: Ap info params such as BSSID, and the type of rejection to be done * @ap_info: Ap info params such as BSSID, and the type of rejection to be done
* *
* This API will add the BSSID to the reject AP list maintained by the blacklist * This API will add the BSSID to the reject AP list maintained by the denylist
* manager. * manager.
* *
* Return: QDF status * Return: QDF status
*/ */
QDF_STATUS QDF_STATUS
blm_add_bssid_to_reject_list(struct wlan_objmgr_pdev *pdev, dlm_add_bssid_to_reject_list(struct wlan_objmgr_pdev *pdev,
struct reject_ap_info *ap_info); struct reject_ap_info *ap_info);
#if defined(WLAN_FEATURE_ROAM_OFFLOAD) #if defined(WLAN_FEATURE_ROAM_OFFLOAD)
/** /**
* blm_send_reject_ap_list_to_fw() - Send the blacklist BSSIDs to FW * dlm_send_reject_ap_list_to_fw() - Send the denylist BSSIDs to FW
* @pdev: Pdev object * @pdev: Pdev object
* @reject_db_list: List of blacklist BSSIDs * @reject_db_list: List of denylist BSSIDs
* @cfg: Blacklist manager cfg * @cfg: Denylist manager cfg
* *
* This API will send the blacklist BSSIDs to FW for avoiding or blacklisting * This API will send the denylist BSSIDs to FW for avoiding or denylisting
* in roaming scenarios. * in roaming scenarios.
* *
* Return: None * Return: None
*/ */
void void
blm_send_reject_ap_list_to_fw(struct wlan_objmgr_pdev *pdev, dlm_send_reject_ap_list_to_fw(struct wlan_objmgr_pdev *pdev,
qdf_list_t *reject_db_list, qdf_list_t *reject_db_list,
struct blm_config *cfg); struct dlm_config *cfg);
/** /**
* blm_update_reject_ap_list_to_fw() - Send the blacklist BSSIDs to FW * dlm_update_reject_ap_list_to_fw() - Send the denylist BSSIDs to FW
* @psoc: psoc object * @psoc: psoc object
* *
* This API will send the blacklist BSSIDs to FW. * This API will send the denylist BSSIDs to FW.
* *
* Return: None * Return: None
*/ */
void blm_update_reject_ap_list_to_fw(struct wlan_objmgr_psoc *psoc); void dlm_update_reject_ap_list_to_fw(struct wlan_objmgr_psoc *psoc);
#else #else
static inline void blm_send_reject_ap_list_to_fw(struct wlan_objmgr_pdev *pdev, static inline void dlm_send_reject_ap_list_to_fw(struct wlan_objmgr_pdev *pdev,
qdf_list_t *reject_db_list, qdf_list_t *reject_db_list,
struct blm_config *cfg) struct dlm_config *cfg)
{ {
} }
static inline void static inline void
blm_update_reject_ap_list_to_fw(struct wlan_objmgr_psoc *psoc) dlm_update_reject_ap_list_to_fw(struct wlan_objmgr_psoc *psoc)
{ {
} }
#endif #endif
/** /**
* blm_add_userspace_black_list() - Clear already existing userspace BSSID, and * dlm_add_userspace_deny_list() - Clear already existing userspace BSSID, and
* add the new ones to blacklist manager. * add the new ones to denylist manager.
* @pdev: pdev object * @pdev: pdev object
* @bssid_black_list: BSSIDs to be blacklisted by userspace. * @bssid_deny_list: BSSIDs to be denylisted by userspace.
* @num_of_bssid: num of bssids to be blacklisted. * @num_of_bssid: num of bssids to be denylisted.
* *
* This API will Clear already existing userspace BSSID, and add the new ones * This API will Clear already existing userspace BSSID, and add the new ones
* to blacklist manager's reject list. * to denylist manager's reject list.
* *
* Return: QDF status * Return: QDF status
*/ */
QDF_STATUS QDF_STATUS
blm_add_userspace_black_list(struct wlan_objmgr_pdev *pdev, dlm_add_userspace_deny_list(struct wlan_objmgr_pdev *pdev,
struct qdf_mac_addr *bssid_black_list, struct qdf_mac_addr *bssid_deny_list,
uint8_t num_of_bssid); uint8_t num_of_bssid);
/** /**
* blm_update_bssid_connect_params() - Inform the BLM about connect/disconnect * dlm_update_bssid_connect_params() - Inform the DLM about connect/disconnect
* with the current AP. * with the current AP.
* @pdev: pdev object * @pdev: pdev object
* @bssid: BSSID of the AP * @bssid: BSSID of the AP
* @con_state: Connection stae (connected/disconnected) * @con_state: Connection stae (connected/disconnected)
* *
* This API will inform the BLM about the state with the AP so that if the AP * This API will inform the DLM about the state with the AP so that if the AP
* is selected, and the connection went through, and the connection did not * is selected, and the connection went through, and the connection did not
* face any data stall till the bad bssid reset timer, BLM can remove the * face any data stall till the bad bssid reset timer, DLM can remove the
* AP from the reject ap list maintained by it. * AP from the reject ap list maintained by it.
* *
* Return: None * Return: None
*/ */
void void
blm_update_bssid_connect_params(struct wlan_objmgr_pdev *pdev, dlm_update_bssid_connect_params(struct wlan_objmgr_pdev *pdev,
struct qdf_mac_addr bssid, struct qdf_mac_addr bssid,
enum blm_connection_state con_state); enum dlm_connection_state con_state);
/** /**
* blm_flush_reject_ap_list() - Clear away BSSID and destroy the reject ap list * dlm_flush_reject_ap_list() - Clear away BSSID and destroy the reject ap list
* @blm_ctx: blacklist manager pdev priv object * @dlm_ctx: denylist manager pdev priv object
* *
* This API will clear the BSSID info in the reject AP list maintained by the * This API will clear the BSSID info in the reject AP list maintained by the
* blacklist manager, and will destroy the list as well. * denylist manager, and will destroy the list as well.
* *
* Return: None * Return: None
*/ */
void void
blm_flush_reject_ap_list(struct blm_pdev_priv_obj *blm_ctx); dlm_flush_reject_ap_list(struct dlm_pdev_priv_obj *dlm_ctx);
/** /**
* blm_get_bssid_reject_list() - Get the BSSIDs in reject list from BLM * dlm_get_bssid_reject_list() - Get the BSSIDs in reject list from DLM
* @pdev: pdev object * @pdev: pdev object
* @reject_list: reject list to be filled (passed by caller) * @reject_list: reject list to be filled (passed by caller)
* @max_bssid_to_be_filled: num of bssids filled in reject list by BLM * @max_bssid_to_be_filled: num of bssids filled in reject list by DLM
* @reject_ap_type: reject ap type of the BSSIDs to be filled. * @reject_ap_type: reject ap type of the BSSIDs to be filled.
* *
* This API will fill the reject ap list requested by caller of type given as * This API will fill the reject ap list requested by caller of type given as
* argument reject_ap_type, and will return the number of BSSIDs filled. * argument reject_ap_type, and will return the number of BSSIDs filled.
* *
* Return: Unsigned integer (number of BSSIDs filled by the blacklist manager) * Return: Unsigned integer (number of BSSIDs filled by the denylist manager)
*/ */
uint8_t uint8_t
blm_get_bssid_reject_list(struct wlan_objmgr_pdev *pdev, dlm_get_bssid_reject_list(struct wlan_objmgr_pdev *pdev,
struct reject_ap_config_params *reject_list, struct reject_ap_config_params *reject_list,
uint8_t max_bssid_to_be_filled, uint8_t max_bssid_to_be_filled,
enum blm_reject_ap_type reject_ap_type); enum dlm_reject_ap_type reject_ap_type);
/** /**
* blm_dump_blacklist_bssid - Dump blacklisted bssids * dlm_dump_denylist_bssid - Dump denylisted bssids
* @pdev: pdev object * @pdev: pdev object
* *
* Return: None * Return: None
*/ */
void blm_dump_blacklist_bssid(struct wlan_objmgr_pdev *pdev); void dlm_dump_denylist_bssid(struct wlan_objmgr_pdev *pdev);
/** /**
* blm_get_rssi_blacklist_threshold() - Get rssi blacklist threshold value * dlm_get_rssi_denylist_threshold() - Get rssi denylist threshold value
* @pdev: pdev object * @pdev: pdev object
* *
* This API will get the RSSI blacklist threshold info. * This API will get the RSSI denylist threshold info.
* *
* Return: rssi theshold value * Return: rssi theshold value
*/ */
int32_t int32_t
blm_get_rssi_blacklist_threshold(struct wlan_objmgr_pdev *pdev); dlm_get_rssi_denylist_threshold(struct wlan_objmgr_pdev *pdev);
#endif #endif

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2019-2021 The Linux Foundation. All rights reserved. * Copyright (c) 2019-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -16,79 +17,79 @@
* PERFORMANCE OF THIS SOFTWARE. * PERFORMANCE OF THIS SOFTWARE.
*/ */
/** /**
* DOC: declare internal APIs related to the blacklist manager component * DOC: declare internal APIs related to the denylist manager component
*/ */
#ifndef _WLAN_BLM_MAIN_H_ #ifndef _WLAN_DLM_MAIN_H_
#define _WLAN_BLM_MAIN_H_ #define _WLAN_DLM_MAIN_H_
#include <qdf_time.h> #include <qdf_time.h>
#include <wlan_objmgr_cmn.h> #include <wlan_objmgr_cmn.h>
#include <wlan_objmgr_global_obj.h> #include <wlan_objmgr_global_obj.h>
#include <wlan_blm_ucfg_api.h> #include <wlan_blm_ucfg_api.h>
#define blm_fatal(params...)\ #define dlm_fatal(params...)\
QDF_TRACE_FATAL(QDF_MODULE_ID_BLACKLIST_MGR, params) QDF_TRACE_FATAL(QDF_MODULE_ID_DENYLIST_MGR, params)
#define blm_err(params...)\ #define dlm_err(params...)\
QDF_TRACE_ERROR(QDF_MODULE_ID_BLACKLIST_MGR, params) QDF_TRACE_ERROR(QDF_MODULE_ID_DENYLIST_MGR, params)
#define blm_warn(params...)\ #define dlm_warn(params...)\
QDF_TRACE_WARN(QDF_MODULE_ID_BLACKLIST_MGR, params) QDF_TRACE_WARN(QDF_MODULE_ID_DENYLIST_MGR, params)
#define blm_info(params...)\ #define dlm_info(params...)\
QDF_TRACE_INFO(QDF_MODULE_ID_BLACKLIST_MGR, params) QDF_TRACE_INFO(QDF_MODULE_ID_DENYLIST_MGR, params)
#define blm_debug(params...)\ #define dlm_debug(params...)\
QDF_TRACE_DEBUG(QDF_MODULE_ID_BLACKLIST_MGR, params) QDF_TRACE_DEBUG(QDF_MODULE_ID_DENYLIST_MGR, params)
#define blm_nofl_debug(params...)\ #define dlm_nofl_debug(params...)\
QDF_TRACE_DEBUG_NO_FL(QDF_MODULE_ID_BLACKLIST_MGR, params) QDF_TRACE_DEBUG_NO_FL(QDF_MODULE_ID_DENYLIST_MGR, params)
/** /**
* struct blm_pdev_priv_obj - Pdev priv struct to store list of blacklist mgr. * struct dlm_pdev_priv_obj - Pdev priv struct to store list of denylist mgr.
* @reject_ap_list_lock: Mutex needed to restrict two threads updating the list. * @reject_ap_list_lock: Mutex needed to restrict two threads updating the list.
* @reject_ap_list: The reject Ap list which would contain the list of bad APs. * @reject_ap_list: The reject Ap list which would contain the list of bad APs.
* @blm_tx_ops: tx ops to send reject ap list to FW * @dlm_tx_ops: tx ops to send reject ap list to FW
*/ */
struct blm_pdev_priv_obj { struct dlm_pdev_priv_obj {
qdf_mutex_t reject_ap_list_lock; qdf_mutex_t reject_ap_list_lock;
qdf_list_t reject_ap_list; qdf_list_t reject_ap_list;
struct wlan_blm_tx_ops blm_tx_ops; struct wlan_dlm_tx_ops dlm_tx_ops;
}; };
/** /**
* struct blm_config - Structure to define the config params for blacklist mgr. * struct dlm_config - Structure to define the config params for denylist mgr.
* @avoid_list_exipry_time: Timer after which transition from avoid->monitor * @avoid_list_exipry_time: Timer after which transition from avoid->monitor
* would happen for the BSSID which is in avoid list. * would happen for the BSSID which is in avoid list.
* @black_list_exipry_time: Timer after which transition from black->monitor * @deny_list_exipry_time: Timer after which transition from deny->monitor
* would happen for the BSSID which is in black list. * would happen for the BSSID which is in deny list.
* @bad_bssid_counter_reset_time: Timer after which the bssid would be removed * @bad_bssid_counter_reset_time: Timer after which the bssid would be removed
* from the reject list when connected, and data stall is not seen with the AP. * from the reject list when connected, and data stall is not seen with the AP.
* @bad_bssid_counter_thresh: This is the threshold count which is incremented * @bad_bssid_counter_thresh: This is the threshold count which is incremented
* after every NUD fail, and after this much count, the BSSID would be moved to * after every NUD fail, and after this much count, the BSSID would be moved to
* blacklist. * denylist.
* @delta_rssi: This is the rssi threshold, only when rssi * @delta_rssi: This is the rssi threshold, only when rssi
* improves by this value the entry for BSSID should be removed from black * improves by this value the entry for BSSID should be removed from deny
* list manager list. * list manager list.
*/ */
struct blm_config { struct dlm_config {
qdf_time_t avoid_list_exipry_time; qdf_time_t avoid_list_exipry_time;
qdf_time_t black_list_exipry_time; qdf_time_t deny_list_exipry_time;
qdf_time_t bad_bssid_counter_reset_time; qdf_time_t bad_bssid_counter_reset_time;
uint8_t bad_bssid_counter_thresh; uint8_t bad_bssid_counter_thresh;
uint32_t delta_rssi; uint32_t delta_rssi;
}; };
/** /**
* struct blm_psoc_priv_obj - Psoc priv structure of the blacklist manager. * struct dlm_psoc_priv_obj - Psoc priv structure of the denylist manager.
* @pdev_id: pdev id * @pdev_id: pdev id
* @is_suspended: is black list manager state suspended * @is_suspended: is deny list manager state suspended
* @blm_cfg: These are the config ini params that the user can configure. * @dlm_cfg: These are the config ini params that the user can configure.
*/ */
struct blm_psoc_priv_obj { struct dlm_psoc_priv_obj {
uint8_t pdev_id; uint8_t pdev_id;
bool is_suspended; bool is_suspended;
struct blm_config blm_cfg; struct dlm_config dlm_cfg;
}; };
/** /**
* blm_pdev_object_created_notification() - blacklist mgr pdev create * dlm_pdev_object_created_notification() - denylist mgr pdev create
* handler * handler
* @pdev: pdev which is going to be created by objmgr * @pdev: pdev which is going to be created by objmgr
* @arg: argument for pdev create handler * @arg: argument for pdev create handler
@@ -98,11 +99,11 @@ struct blm_psoc_priv_obj {
* Return: QDF_STATUS status in case of success else return error * Return: QDF_STATUS status in case of success else return error
*/ */
QDF_STATUS QDF_STATUS
blm_pdev_object_created_notification(struct wlan_objmgr_pdev *pdev, dlm_pdev_object_created_notification(struct wlan_objmgr_pdev *pdev,
void *arg); void *arg);
/** /**
* blm_pdev_object_destroyed_notification() - blacklist mgr pdev delete handler * dlm_pdev_object_destroyed_notification() - denylist mgr pdev delete handler
* @pdev: pdev which is going to be deleted by objmgr * @pdev: pdev which is going to be deleted by objmgr
* @arg: argument for pdev delete handler * @arg: argument for pdev delete handler
* *
@@ -111,11 +112,11 @@ blm_pdev_object_created_notification(struct wlan_objmgr_pdev *pdev,
* Return: QDF_STATUS status in case of success else return error * Return: QDF_STATUS status in case of success else return error
*/ */
QDF_STATUS QDF_STATUS
blm_pdev_object_destroyed_notification(struct wlan_objmgr_pdev *pdev, dlm_pdev_object_destroyed_notification(struct wlan_objmgr_pdev *pdev,
void *arg); void *arg);
/** /**
* blm_psoc_object_created_notification() - blacklist mgr psoc create handler * dlm_psoc_object_created_notification() - denylist mgr psoc create handler
* @psoc: psoc which is going to be created by objmgr * @psoc: psoc which is going to be created by objmgr
* @arg: argument for psoc create handler * @arg: argument for psoc create handler
* *
@@ -124,11 +125,11 @@ blm_pdev_object_destroyed_notification(struct wlan_objmgr_pdev *pdev,
* Return: QDF_STATUS status in case of success else return error * Return: QDF_STATUS status in case of success else return error
*/ */
QDF_STATUS QDF_STATUS
blm_psoc_object_created_notification(struct wlan_objmgr_psoc *psoc, dlm_psoc_object_created_notification(struct wlan_objmgr_psoc *psoc,
void *arg); void *arg);
/** /**
* blm_psoc_object_destroyed_notification() - blacklist mgr psoc delete handler * dlm_psoc_object_destroyed_notification() - denylist mgr psoc delete handler
* @psoc: psoc which is going to be deleted by objmgr * @psoc: psoc which is going to be deleted by objmgr
* @arg: argument for psoc delete handler. * @arg: argument for psoc delete handler.
* *
@@ -137,41 +138,41 @@ blm_psoc_object_created_notification(struct wlan_objmgr_psoc *psoc,
* Return: QDF_STATUS status in case of success else return error * Return: QDF_STATUS status in case of success else return error
*/ */
QDF_STATUS QDF_STATUS
blm_psoc_object_destroyed_notification(struct wlan_objmgr_psoc *psoc, dlm_psoc_object_destroyed_notification(struct wlan_objmgr_psoc *psoc,
void *arg); void *arg);
/** /**
* blm_cfg_psoc_open() - blacklist mgr psoc open handler * dlm_cfg_psoc_open() - denylist mgr psoc open handler
* @psoc: psoc which is initialized by objmgr * @psoc: psoc which is initialized by objmgr
* *
* This API will initialize the config file, and store the config while in the * This API will initialize the config file, and store the config while in the
* psoc priv object of the blacklist manager. * psoc priv object of the denylist manager.
* *
* Return: QDF_STATUS status in case of success else return error * Return: QDF_STATUS status in case of success else return error
*/ */
QDF_STATUS QDF_STATUS
blm_cfg_psoc_open(struct wlan_objmgr_psoc *psoc); dlm_cfg_psoc_open(struct wlan_objmgr_psoc *psoc);
/** /**
* blm_get_pdev_obj() - Get the pdev priv object of the blacklist manager * dlm_get_pdev_obj() - Get the pdev priv object of the denylist manager
* @pdev: pdev object * @pdev: pdev object
* *
* Get the pdev priv object of the blacklist manager * Get the pdev priv object of the denylist manager
* *
* Return: Pdev priv object if present, else NULL. * Return: Pdev priv object if present, else NULL.
*/ */
struct blm_pdev_priv_obj * struct dlm_pdev_priv_obj *
blm_get_pdev_obj(struct wlan_objmgr_pdev *pdev); dlm_get_pdev_obj(struct wlan_objmgr_pdev *pdev);
/** /**
* blm_get_psoc_obj() - Get the psoc priv object of the blacklist manager * dlm_get_psoc_obj() - Get the psoc priv object of the denylist manager
* @psoc: psoc object * @psoc: psoc object
* *
* Get the psoc priv object of the blacklist manager * Get the psoc priv object of the denylist manager
* *
* Return: Psoc priv object if present, else NULL. * Return: Psoc priv object if present, else NULL.
*/ */
struct blm_psoc_priv_obj * struct dlm_psoc_priv_obj *
blm_get_psoc_obj(struct wlan_objmgr_psoc *psoc); dlm_get_psoc_obj(struct wlan_objmgr_psoc *psoc);
#endif #endif

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2019-2020 The Linux Foundation. All rights reserved. * Copyright (c) 2019-2020 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -17,9 +18,9 @@
*/ */
/** /**
* DOC: wlan_blm_main.c * DOC: wlan_dlm_main.c
* *
* WLAN Blacklist Mgr related APIs * WLAN Denylist Mgr related APIs
* *
*/ */
@@ -30,160 +31,160 @@
#include "cfg_ucfg_api.h" #include "cfg_ucfg_api.h"
#include <wlan_blm_core.h> #include <wlan_blm_core.h>
struct blm_pdev_priv_obj * struct dlm_pdev_priv_obj *
blm_get_pdev_obj(struct wlan_objmgr_pdev *pdev) dlm_get_pdev_obj(struct wlan_objmgr_pdev *pdev)
{ {
struct blm_pdev_priv_obj *blm_pdev_obj; struct dlm_pdev_priv_obj *dlm_pdev_obj;
blm_pdev_obj = wlan_objmgr_pdev_get_comp_private_obj(pdev, dlm_pdev_obj = wlan_objmgr_pdev_get_comp_private_obj(pdev,
WLAN_UMAC_COMP_BLACKLIST_MGR); WLAN_UMAC_COMP_DENYLIST_MGR);
return blm_pdev_obj; return dlm_pdev_obj;
} }
struct blm_psoc_priv_obj * struct dlm_psoc_priv_obj *
blm_get_psoc_obj(struct wlan_objmgr_psoc *psoc) dlm_get_psoc_obj(struct wlan_objmgr_psoc *psoc)
{ {
struct blm_psoc_priv_obj *blm_psoc_obj; struct dlm_psoc_priv_obj *dlm_psoc_obj;
blm_psoc_obj = wlan_objmgr_psoc_get_comp_private_obj(psoc, dlm_psoc_obj = wlan_objmgr_psoc_get_comp_private_obj(psoc,
WLAN_UMAC_COMP_BLACKLIST_MGR); WLAN_UMAC_COMP_DENYLIST_MGR);
return blm_psoc_obj; return dlm_psoc_obj;
} }
QDF_STATUS QDF_STATUS
blm_pdev_object_created_notification(struct wlan_objmgr_pdev *pdev, dlm_pdev_object_created_notification(struct wlan_objmgr_pdev *pdev,
void *arg) void *arg)
{ {
struct blm_pdev_priv_obj *blm_ctx; struct dlm_pdev_priv_obj *dlm_ctx;
QDF_STATUS status; QDF_STATUS status;
blm_ctx = qdf_mem_malloc(sizeof(*blm_ctx)); dlm_ctx = qdf_mem_malloc(sizeof(*dlm_ctx));
if (!blm_ctx) if (!dlm_ctx)
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
status = qdf_mutex_create(&blm_ctx->reject_ap_list_lock); status = qdf_mutex_create(&dlm_ctx->reject_ap_list_lock);
if (QDF_IS_STATUS_ERROR(status)) { if (QDF_IS_STATUS_ERROR(status)) {
blm_err("Failed to create mutex"); dlm_err("Failed to create mutex");
qdf_mem_free(blm_ctx); qdf_mem_free(dlm_ctx);
return status; return status;
} }
qdf_list_create(&blm_ctx->reject_ap_list, MAX_BAD_AP_LIST_SIZE); qdf_list_create(&dlm_ctx->reject_ap_list, MAX_BAD_AP_LIST_SIZE);
target_if_blm_register_tx_ops(&blm_ctx->blm_tx_ops); target_if_dlm_register_tx_ops(&dlm_ctx->dlm_tx_ops);
status = wlan_objmgr_pdev_component_obj_attach(pdev, status = wlan_objmgr_pdev_component_obj_attach(pdev,
WLAN_UMAC_COMP_BLACKLIST_MGR, WLAN_UMAC_COMP_DENYLIST_MGR,
blm_ctx, dlm_ctx,
QDF_STATUS_SUCCESS); QDF_STATUS_SUCCESS);
if (QDF_IS_STATUS_ERROR(status)) { if (QDF_IS_STATUS_ERROR(status)) {
blm_err("Failed to attach pdev_ctx with pdev"); dlm_err("Failed to attach pdev_ctx with pdev");
qdf_list_destroy(&blm_ctx->reject_ap_list); qdf_list_destroy(&dlm_ctx->reject_ap_list);
qdf_mutex_destroy(&blm_ctx->reject_ap_list_lock); qdf_mutex_destroy(&dlm_ctx->reject_ap_list_lock);
qdf_mem_free(blm_ctx); qdf_mem_free(dlm_ctx);
} }
return status; return status;
} }
QDF_STATUS QDF_STATUS
blm_pdev_object_destroyed_notification(struct wlan_objmgr_pdev *pdev, dlm_pdev_object_destroyed_notification(struct wlan_objmgr_pdev *pdev,
void *arg) void *arg)
{ {
struct blm_pdev_priv_obj *blm_ctx; struct dlm_pdev_priv_obj *dlm_ctx;
blm_ctx = blm_get_pdev_obj(pdev); dlm_ctx = dlm_get_pdev_obj(pdev);
if (!blm_ctx) { if (!dlm_ctx) {
blm_err("BLM Pdev obj is NULL"); dlm_err("DLM Pdev obj is NULL");
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
} }
/* Clear away the memory allocated for the bad BSSIDs */ /* Clear away the memory allocated for the bad BSSIDs */
blm_flush_reject_ap_list(blm_ctx); dlm_flush_reject_ap_list(dlm_ctx);
qdf_list_destroy(&blm_ctx->reject_ap_list); qdf_list_destroy(&dlm_ctx->reject_ap_list);
qdf_mutex_destroy(&blm_ctx->reject_ap_list_lock); qdf_mutex_destroy(&dlm_ctx->reject_ap_list_lock);
wlan_objmgr_pdev_component_obj_detach(pdev, wlan_objmgr_pdev_component_obj_detach(pdev,
WLAN_UMAC_COMP_BLACKLIST_MGR, WLAN_UMAC_COMP_DENYLIST_MGR,
blm_ctx); dlm_ctx);
qdf_mem_free(blm_ctx); qdf_mem_free(dlm_ctx);
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
QDF_STATUS QDF_STATUS
blm_psoc_object_created_notification(struct wlan_objmgr_psoc *psoc, dlm_psoc_object_created_notification(struct wlan_objmgr_psoc *psoc,
void *arg) void *arg)
{ {
struct blm_psoc_priv_obj *blm_psoc_obj; struct dlm_psoc_priv_obj *dlm_psoc_obj;
QDF_STATUS status; QDF_STATUS status;
blm_psoc_obj = qdf_mem_malloc(sizeof(*blm_psoc_obj)); dlm_psoc_obj = qdf_mem_malloc(sizeof(*dlm_psoc_obj));
if (!blm_psoc_obj) if (!dlm_psoc_obj)
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
status = wlan_objmgr_psoc_component_obj_attach(psoc, status = wlan_objmgr_psoc_component_obj_attach(psoc,
WLAN_UMAC_COMP_BLACKLIST_MGR, WLAN_UMAC_COMP_DENYLIST_MGR,
blm_psoc_obj, dlm_psoc_obj,
QDF_STATUS_SUCCESS); QDF_STATUS_SUCCESS);
if (QDF_IS_STATUS_ERROR(status)) { if (QDF_IS_STATUS_ERROR(status)) {
blm_err("Failed to attach psoc_ctx with psoc"); dlm_err("Failed to attach psoc_ctx with psoc");
qdf_mem_free(blm_psoc_obj); qdf_mem_free(dlm_psoc_obj);
} }
return status; return status;
} }
QDF_STATUS QDF_STATUS
blm_psoc_object_destroyed_notification(struct wlan_objmgr_psoc *psoc, void *arg) dlm_psoc_object_destroyed_notification(struct wlan_objmgr_psoc *psoc, void *arg)
{ {
struct blm_psoc_priv_obj *blm_psoc_obj; struct dlm_psoc_priv_obj *dlm_psoc_obj;
blm_psoc_obj = blm_get_psoc_obj(psoc); dlm_psoc_obj = dlm_get_psoc_obj(psoc);
if (!blm_psoc_obj) { if (!dlm_psoc_obj) {
blm_err("BLM psoc obj NULL"); dlm_err("DLM psoc obj NULL");
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
} }
wlan_objmgr_psoc_component_obj_detach(psoc, wlan_objmgr_psoc_component_obj_detach(psoc,
WLAN_UMAC_COMP_BLACKLIST_MGR, WLAN_UMAC_COMP_DENYLIST_MGR,
blm_psoc_obj); dlm_psoc_obj);
qdf_mem_free(blm_psoc_obj); qdf_mem_free(dlm_psoc_obj);
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
static void static void
blm_init_cfg(struct wlan_objmgr_psoc *psoc, struct blm_config *blm_cfg) dlm_init_cfg(struct wlan_objmgr_psoc *psoc, struct dlm_config *dlm_cfg)
{ {
blm_cfg->avoid_list_exipry_time = dlm_cfg->avoid_list_exipry_time =
cfg_get(psoc, CFG_AVOID_LIST_EXPIRY_TIME); cfg_get(psoc, CFG_AVOID_LIST_EXPIRY_TIME);
blm_cfg->black_list_exipry_time = dlm_cfg->deny_list_exipry_time =
cfg_get(psoc, CFG_BLACK_LIST_EXPIRY_TIME); cfg_get(psoc, CFG_DENY_LIST_EXPIRY_TIME);
blm_cfg->bad_bssid_counter_reset_time = dlm_cfg->bad_bssid_counter_reset_time =
cfg_get(psoc, CFG_BAD_BSSID_RESET_TIME); cfg_get(psoc, CFG_BAD_BSSID_RESET_TIME);
blm_cfg->bad_bssid_counter_thresh = dlm_cfg->bad_bssid_counter_thresh =
cfg_get(psoc, CFG_BAD_BSSID_COUNTER_THRESHOLD); cfg_get(psoc, CFG_BAD_BSSID_COUNTER_THRESHOLD);
blm_cfg->delta_rssi = dlm_cfg->delta_rssi =
cfg_get(psoc, CFG_BLACKLIST_RSSI_THRESHOLD); cfg_get(psoc, CFG_DENYLIST_RSSI_THRESHOLD);
} }
QDF_STATUS QDF_STATUS
blm_cfg_psoc_open(struct wlan_objmgr_psoc *psoc) dlm_cfg_psoc_open(struct wlan_objmgr_psoc *psoc)
{ {
struct blm_psoc_priv_obj *blm_psoc_obj; struct dlm_psoc_priv_obj *dlm_psoc_obj;
blm_psoc_obj = blm_get_psoc_obj(psoc); dlm_psoc_obj = dlm_get_psoc_obj(psoc);
if (!blm_psoc_obj) { if (!dlm_psoc_obj) {
blm_err("BLM psoc obj NULL"); dlm_err("DLM psoc obj NULL");
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
} }
blm_init_cfg(psoc, &blm_psoc_obj->blm_cfg); dlm_init_cfg(psoc, &dlm_psoc_obj->dlm_cfg);
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2019-2021 The Linux Foundation. All rights reserved. * Copyright (c) 2019-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -16,134 +17,134 @@
* PERFORMANCE OF THIS SOFTWARE. * PERFORMANCE OF THIS SOFTWARE.
*/ */
/** /**
* DOC: declare public APIs exposed by the blacklist manager component * DOC: declare public APIs exposed by the denylist manager component
*/ */
#ifndef _WLAN_BLM_API_H_ #ifndef _WLAN_DLM_API_H_
#define _WLAN_BLM_API_H_ #define _WLAN_DLM_API_H_
#include "qdf_types.h" #include "qdf_types.h"
#include "wlan_objmgr_pdev_obj.h" #include "wlan_objmgr_pdev_obj.h"
#include <wlan_blm_public_struct.h> #include <wlan_blm_public_struct.h>
#ifdef FEATURE_BLACKLIST_MGR #ifdef FEATURE_DENYLIST_MGR
#include "wlan_blm_core.h" #include "wlan_blm_core.h"
/** /**
* wlan_blm_add_bssid_to_reject_list() - Add BSSID to the specific reject list. * wlan_dlm_add_bssid_to_reject_list() - Add BSSID to the specific reject list.
* @pdev: Pdev object * @pdev: Pdev object
* @ap_info: Ap info params such as BSSID, and the type of rejection to be done * @ap_info: Ap info params such as BSSID, and the type of rejection to be done
* *
* This API will add the BSSID to the reject AP list maintained by the blacklist * This API will add the BSSID to the reject AP list maintained by the denylist
* manager. * manager.
*/ */
static inline QDF_STATUS static inline QDF_STATUS
wlan_blm_add_bssid_to_reject_list(struct wlan_objmgr_pdev *pdev, wlan_dlm_add_bssid_to_reject_list(struct wlan_objmgr_pdev *pdev,
struct reject_ap_info *ap_info) struct reject_ap_info *ap_info)
{ {
return blm_add_bssid_to_reject_list(pdev, ap_info); return dlm_add_bssid_to_reject_list(pdev, ap_info);
} }
/** /**
* wlan_blm_update_bssid_connect_params() - Inform the BLM about connect or * wlan_dlm_update_bssid_connect_params() - Inform the DLM about connect or
* disconnect with the current AP. * disconnect with the current AP.
* @pdev: pdev object * @pdev: pdev object
* @bssid: BSSID of the AP * @bssid: BSSID of the AP
* @con_state: Connection stae (connected/disconnected) * @con_state: Connection stae (connected/disconnected)
* *
* This API will inform the BLM about the state with the AP so that if the AP * This API will inform the DLM about the state with the AP so that if the AP
* is selected, and the connection went through, and the connection did not * is selected, and the connection went through, and the connection did not
* face any data stall till the bad bssid reset timer, BLM can remove the * face any data stall till the bad bssid reset timer, DLM can remove the
* AP from the reject ap list maintained by it. * AP from the reject ap list maintained by it.
* *
* Return: None * Return: None
*/ */
static inline void static inline void
wlan_blm_update_bssid_connect_params(struct wlan_objmgr_pdev *pdev, wlan_dlm_update_bssid_connect_params(struct wlan_objmgr_pdev *pdev,
struct qdf_mac_addr bssid, struct qdf_mac_addr bssid,
enum blm_connection_state con_state) enum dlm_connection_state con_state)
{ {
return blm_update_bssid_connect_params(pdev, bssid, con_state); return dlm_update_bssid_connect_params(pdev, bssid, con_state);
} }
/** /**
* wlan_blm_get_bssid_reject_list() - Get the BSSIDs in reject list from BLM * wlan_dlm_get_bssid_reject_list() - Get the BSSIDs in reject list from DLM
* @pdev: pdev object * @pdev: pdev object
* @reject_list: reject list to be filled (passed by caller) * @reject_list: reject list to be filled (passed by caller)
* @max_bssid_to_be_filled: num of bssids filled in reject list by BLM * @max_bssid_to_be_filled: num of bssids filled in reject list by DLM
* @reject_ap_type: reject ap type of the BSSIDs to be filled. * @reject_ap_type: reject ap type of the BSSIDs to be filled.
* *
* This API is a wrapper to an API of blacklist manager which will fill the * This API is a wrapper to an API of denylist manager which will fill the
* reject ap list requested by caller of type given as argument reject_ap_type, * reject ap list requested by caller of type given as argument reject_ap_type,
* and will return the number of BSSIDs filled. * and will return the number of BSSIDs filled.
* *
* Return: Unsigned integer (number of BSSIDs filled by the blacklist manager) * Return: Unsigned integer (number of BSSIDs filled by the denylist manager)
*/ */
static inline uint8_t static inline uint8_t
wlan_blm_get_bssid_reject_list(struct wlan_objmgr_pdev *pdev, wlan_dlm_get_bssid_reject_list(struct wlan_objmgr_pdev *pdev,
struct reject_ap_config_params *reject_list, struct reject_ap_config_params *reject_list,
uint8_t max_bssid_to_be_filled, uint8_t max_bssid_to_be_filled,
enum blm_reject_ap_type reject_ap_type) enum dlm_reject_ap_type reject_ap_type)
{ {
return blm_get_bssid_reject_list(pdev, reject_list, return dlm_get_bssid_reject_list(pdev, reject_list,
max_bssid_to_be_filled, max_bssid_to_be_filled,
reject_ap_type); reject_ap_type);
} }
/** /**
* wlan_blm_dump_blcklist_bssid() - dump the blacklisted BSSIDs from BLM * wlan_dlm_dump_blcklist_bssid() - dump the denylisted BSSIDs from DLM
* @pdev: pdev object * @pdev: pdev object
* *
* Return: None * Return: None
*/ */
static inline void static inline void
wlan_blm_dump_blcklist_bssid(struct wlan_objmgr_pdev *pdev) wlan_dlm_dump_blcklist_bssid(struct wlan_objmgr_pdev *pdev)
{ {
return blm_dump_blacklist_bssid(pdev); return dlm_dump_denylist_bssid(pdev);
} }
/** /**
* wlan_blm_get_rssi_blacklist_threshold() - Get the RSSI blacklist threshold * wlan_dlm_get_rssi_denylist_threshold() - Get the RSSI denylist threshold
* @pdev: pdev object * @pdev: pdev object
* *
* This API will get the rssi blacklist threshold value configured via * This API will get the rssi denylist threshold value configured via
* CFG_BLACKLIST_RSSI_THRESHOLD. * CFG_DENYLIST_RSSI_THRESHOLD.
* *
* Return: int32_t (threshold value) * Return: int32_t (threshold value)
*/ */
static inline int32_t static inline int32_t
wlan_blm_get_rssi_blacklist_threshold(struct wlan_objmgr_pdev *pdev) wlan_dlm_get_rssi_denylist_threshold(struct wlan_objmgr_pdev *pdev)
{ {
return blm_get_rssi_blacklist_threshold(pdev); return dlm_get_rssi_denylist_threshold(pdev);
} }
#else #else
static inline QDF_STATUS static inline QDF_STATUS
wlan_blm_add_bssid_to_reject_list(struct wlan_objmgr_pdev *pdev, wlan_dlm_add_bssid_to_reject_list(struct wlan_objmgr_pdev *pdev,
struct reject_ap_info *ap_info) struct reject_ap_info *ap_info)
{ {
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
static inline uint8_t static inline uint8_t
wlan_blm_get_bssid_reject_list(struct wlan_objmgr_pdev *pdev, wlan_dlm_get_bssid_reject_list(struct wlan_objmgr_pdev *pdev,
struct reject_ap_config_params *reject_list, struct reject_ap_config_params *reject_list,
uint8_t max_bssid_to_be_filled, uint8_t max_bssid_to_be_filled,
enum blm_reject_ap_type reject_ap_type) enum dlm_reject_ap_type reject_ap_type)
{ {
return 0; return 0;
} }
static inline void static inline void
wlan_blm_update_bssid_connect_params(struct wlan_objmgr_pdev *pdev, wlan_dlm_update_bssid_connect_params(struct wlan_objmgr_pdev *pdev,
struct qdf_mac_addr bssid, struct qdf_mac_addr bssid,
enum blm_connection_state con_state) enum dlm_connection_state con_state)
{ {
} }
static inline int32_t static inline int32_t
wlan_blm_get_rssi_blacklist_threshold(struct wlan_objmgr_pdev *pdev) wlan_dlm_get_rssi_denylist_threshold(struct wlan_objmgr_pdev *pdev)
{ {
return 0; return 0;
} }

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2019-2021 The Linux Foundation. All rights reserved. * Copyright (c) 2019-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -16,82 +17,87 @@
* PERFORMANCE OF THIS SOFTWARE. * PERFORMANCE OF THIS SOFTWARE.
*/ */
/** /**
* DOC: define public structures of blacklist mgr. * DOC: define public structures of denylist mgr.
*/ */
#ifndef _WLAN_BLM_PUBLIC_STRUCT_H #ifndef _WLAN_DLM_PUBLIC_STRUCT_H
#define _WLAN_BLM_PUBLIC_STRUCT_H #define _WLAN_DLM_PUBLIC_STRUCT_H
#include <qdf_types.h> #include <qdf_types.h>
#include "wlan_objmgr_pdev_obj.h" #include "wlan_objmgr_pdev_obj.h"
#define MAX_BAD_AP_LIST_SIZE 28 #define MAX_BAD_AP_LIST_SIZE 28
#define MAX_RSSI_AVOID_BSSID_LIST 10 #define MAX_RSSI_AVOID_BSSID_LIST 10
#define PDEV_MAX_NUM_BSSID_DISALLOW_LIST 28 #define PDEV_MAX_NUM_BSSID_DISALLOW_LIST 28
/** /**
* enum blm_reject_ap_reason - Rejection reason for adding BSSID to BLM * enum dlm_reject_ap_reason - Rejection reason for adding BSSID to DLM
* @ADDED_BY_DRIVER: Source adding this BSSID is driver * @ADDED_BY_DRIVER: Source adding this BSSID is driver
* @ADDED_BY_TARGET: Source adding this BSSID is target * @ADDED_BY_TARGET: Source adding this BSSID is target
*/ */
enum blm_reject_ap_source { enum dlm_reject_ap_source {
ADDED_BY_DRIVER = 1, ADDED_BY_DRIVER = 1,
ADDED_BY_TARGET, ADDED_BY_TARGET,
}; };
/** /**
* struct blm_rssi_disallow_params - structure to specify params for RSSI reject * struct dlm_rssi_disallow_params - structure to specify params for RSSI
* reject
* @retry_delay: Time before which the AP doesn't expect a connection. * @retry_delay: Time before which the AP doesn't expect a connection.
* @expected_rssi: RSSI less than which only the STA should try association. * @expected_rssi: RSSI less than which only the STA should try association
* @received_time: Time at which the AP was added to blacklist. * @received_time: Time at which the AP was added to denylist.
* @original_timeout: Original timeout which the AP sent while blacklisting. * @original_timeout: Original timeout which the AP sent while denylisting.
* @source: Source of adding this BSSID to RSSI reject list * @source: Source of adding this BSSID to RSSI reject list
*/ */
struct blm_rssi_disallow_params { struct dlm_rssi_disallow_params {
uint32_t retry_delay; uint32_t retry_delay;
int8_t expected_rssi; int8_t expected_rssi;
qdf_time_t received_time; qdf_time_t received_time;
uint32_t original_timeout; uint32_t original_timeout;
enum blm_reject_ap_source source; enum dlm_reject_ap_source source;
}; };
/** /**
* enum blm_reject_ap_type - Rejection type of the AP * enum dlm_reject_ap_type - Rejection type of the AP
* @USERSPACE_AVOID_TYPE: userspace wants the AP to be avoided. * @USERSPACE_AVOID_TYPE: userspace wants the AP to be avoided.
* @USERSPACE_BLACKLIST_TYPE: userspace wants the AP to be blacklisted. * @USERSPACE_DENYLIST_TYPE: userspace wants the AP to be denylisted.
* @DRIVER_AVOID_TYPE: driver wants the AP to be avoided. * @DRIVER_AVOID_TYPE: driver wants the AP to be avoided.
* @DRIVER_BLACKLIST_TYPE: driver wants the AP to be blacklisted. * @DRIVER_DENYLIST_TYPE: driver wants the AP to be denylisted.
* @DRIVER_RSSI_REJECT_TYPE: driver wants the AP to be in driver rssi reject. * @DRIVER_RSSI_REJECT_TYPE: driver wants the AP to be in driver rssi
* reject.
* @DRIVER_MONITOR_TYPE: driver wants the AP to be in monitor list. * @DRIVER_MONITOR_TYPE: driver wants the AP to be in monitor list.
* @REJECT_REASON_UNKNOWN: Rejection reason unknown * @REJECT_REASON_UNKNOWN: Rejection reason unknown
*/ */
enum blm_reject_ap_type { enum dlm_reject_ap_type {
USERSPACE_AVOID_TYPE = 0, USERSPACE_AVOID_TYPE = 0,
USERSPACE_BLACKLIST_TYPE = 1, USERSPACE_DENYLIST_TYPE = 1,
DRIVER_AVOID_TYPE = 2, DRIVER_AVOID_TYPE = 2,
DRIVER_BLACKLIST_TYPE = 3, DRIVER_DENYLIST_TYPE = 3,
DRIVER_RSSI_REJECT_TYPE = 4, DRIVER_RSSI_REJECT_TYPE = 4,
DRIVER_MONITOR_TYPE = 5, DRIVER_MONITOR_TYPE = 5,
REJECT_REASON_UNKNOWN = 6, REJECT_REASON_UNKNOWN = 6,
}; };
/** /**
* enum blm_reject_ap_reason - Rejection reason for adding BSSID to BLM * enum dlm_reject_ap_reason - Rejection reason for adding BSSID to DLM
* @REASON_UNKNOWN: Unknown reason * @REASON_UNKNOWN: Unknown reason
* @REASON_NUD_FAILURE: NUD failure happened with this BSSID * @REASON_NUD_FAILURE: NUD failure happened with this BSSID
* @REASON_STA_KICKOUT: STA kickout happened with this BSSID * @REASON_STA_KICKOUT: STA kickout happened with this BSSID
* @REASON_ROAM_HO_FAILURE: HO failure happenend with this BSSID * @REASON_ROAM_HO_FAILURE: HO failure happenend with this BSSID
* @REASON_ASSOC_REJECT_POOR_RSSI: assoc rsp with reason 71 received from AP. * @REASON_ASSOC_REJECT_POOR_RSSI: assoc rsp with reason 71 received from
* AP.
* @REASON_ASSOC_REJECT_OCE: OCE assoc reject received from the AP. * @REASON_ASSOC_REJECT_OCE: OCE assoc reject received from the AP.
* @REASON_USERSPACE_BL: Userspace wants to blacklist this AP. * @REASON_USERSPACE_BL: Userspace wants to denylist this AP.
* @REASON_USERSPACE_AVOID_LIST: Userspace wants to avoid this AP. * @REASON_USERSPACE_AVOID_LIST: Userspace wants to avoid this AP.
* @REASON_BTM_DISASSOC_IMMINENT: BTM IE received with disassoc imminent set. * @REASON_BTM_DISASSOC_IMMINENT: BTM IE received with disassoc imminent
* set.
* @REASON_BTM_BSS_TERMINATION: BTM IE received with BSS termination set. * @REASON_BTM_BSS_TERMINATION: BTM IE received with BSS termination set.
* @REASON_BTM_MBO_RETRY: BTM IE received from AP with MBO retry set. * @REASON_BTM_MBO_RETRY: BTM IE received from AP with MBO retry set.
* @REASON_REASSOC_RSSI_REJECT: Re-Assoc resp received with reason code 34 * @REASON_REASSOC_RSSI_REJECT: Re-Assoc resp received with reason code 34
* @REASON_REASSOC_NO_MORE_STAS: Re-assoc reject received with reason code 17 * @REASON_REASSOC_NO_MORE_STAS: Re-assoc reject received with reason code
* 17
*/ */
enum blm_reject_ap_reason { enum dlm_reject_ap_reason {
REASON_UNKNOWN = 0, REASON_UNKNOWN = 0,
REASON_NUD_FAILURE, REASON_NUD_FAILURE,
REASON_STA_KICKOUT, REASON_STA_KICKOUT,
@@ -108,13 +114,13 @@ enum blm_reject_ap_reason {
}; };
/** /**
* enum blm_connection_state - State with AP (Connected, Disconnected) * enum dlm_connection_state - State with AP (Connected, Disconnected)
* @BLM_AP_CONNECTED: Connected with the AP * @DLM_AP_CONNECTED: Connected with the AP
* @BLM_AP_DISCONNECTED: Disconnected with the AP * @DLM_AP_DISCONNECTED: Disconnected with the AP
*/ */
enum blm_connection_state { enum dlm_connection_state {
BLM_AP_CONNECTED, DLM_AP_CONNECTED,
BLM_AP_DISCONNECTED, DLM_AP_DISCONNECTED,
}; };
/** /**
@@ -122,19 +128,20 @@ enum blm_connection_state {
* @bssid: BSSID of the AP * @bssid: BSSID of the AP
* @reject_ap_type: Type of the rejection done with the BSSID * @reject_ap_type: Type of the rejection done with the BSSID
* @reject_duration: time left till the AP is in the reject list. * @reject_duration: time left till the AP is in the reject list.
* @expected_rssi: expected RSSI when the AP expects the connection to be made. * @expected_rssi: expected RSSI when the AP expects the connection to be
* @reject_reason: reason to add the BSSID to BLM * made.
* @source: Source of adding the BSSID to BLM * @reject_reason: reason to add the BSSID to DLM
* @received_time: Time at which the AP was added to blacklist. * @source: Source of adding the BSSID to DLM
* @original_timeout: Original timeout which the AP sent while blacklisting. * @received_time: Time at which the AP was added to denylist.
* @original_timeout: Original timeout which the AP sent while denylisting.
*/ */
struct reject_ap_config_params { struct reject_ap_config_params {
struct qdf_mac_addr bssid; struct qdf_mac_addr bssid;
enum blm_reject_ap_type reject_ap_type; enum dlm_reject_ap_type reject_ap_type;
uint32_t reject_duration; uint32_t reject_duration;
int32_t expected_rssi; int32_t expected_rssi;
enum blm_reject_ap_reason reject_reason; enum dlm_reject_ap_reason reject_reason;
enum blm_reject_ap_source source; enum dlm_reject_ap_source source;
qdf_time_t received_time; qdf_time_t received_time;
uint32_t original_timeout; uint32_t original_timeout;
}; };
@@ -150,12 +157,12 @@ struct reject_ap_params {
}; };
/** /**
* struct wlan_blm_tx_ops - structure of tx operation function * struct wlan_dlm_tx_ops - structure of tx operation function
* pointers for blacklist manager component * pointers for denylist manager component
* @blm_send_reject_ap_list: send reject ap list to fw * @dlm_send_reject_ap_list: send reject ap list to fw
*/ */
struct wlan_blm_tx_ops { struct wlan_dlm_tx_ops {
QDF_STATUS (*blm_send_reject_ap_list)(struct wlan_objmgr_pdev *pdev, QDF_STATUS (*dlm_send_reject_ap_list)(struct wlan_objmgr_pdev *pdev,
struct reject_ap_params *reject_params); struct reject_ap_params *reject_params);
}; };
@@ -163,16 +170,17 @@ struct wlan_blm_tx_ops {
* struct reject_ap_info - structure to specify the reject ap info. * struct reject_ap_info - structure to specify the reject ap info.
* @bssid: BSSID of the AP. * @bssid: BSSID of the AP.
* @rssi_reject_params: RSSI reject params of the AP is of type RSSI reject * @rssi_reject_params: RSSI reject params of the AP is of type RSSI reject
* @reject_ap_type: Reject type of AP (eg. avoid, blacklist, rssi reject etc.) * @reject_ap_type: Reject type of AP (eg. avoid, denylist, rssi reject
* @reject_reason: reason to add the BSSID to BLM * etc.)
* @source: Source of adding the BSSID to BLM * @reject_reason: reason to add the BSSID to DLM
* @source: Source of adding the BSSID to DLM
*/ */
struct reject_ap_info { struct reject_ap_info {
struct qdf_mac_addr bssid; struct qdf_mac_addr bssid;
struct blm_rssi_disallow_params rssi_reject_params; struct dlm_rssi_disallow_params rssi_reject_params;
enum blm_reject_ap_type reject_ap_type; enum dlm_reject_ap_type reject_ap_type;
enum blm_reject_ap_reason reject_reason; enum dlm_reject_ap_reason reject_reason;
enum blm_reject_ap_source source; enum dlm_reject_ap_source source;
}; };
#endif #endif

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2019 The Linux Foundation. All rights reserved. * Copyright (c) 2019 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -16,26 +17,26 @@
* PERFORMANCE OF THIS SOFTWARE. * PERFORMANCE OF THIS SOFTWARE.
*/ */
/** /**
* DOC: Declare public API for blacklist manager to interact with target/WMI * DOC: Declare public API for denylist manager to interact with target/WMI
*/ */
#ifndef _WLAN_BLM_TGT_API_H #ifndef _WLAN_DLM_TGT_API_H
#define _WLAN_BLM_TGT_API_H #define _WLAN_DLM_TGT_API_H
#include "wlan_blm_main.h" #include "wlan_blm_main.h"
/** /**
* tgt_blm_send_reject_list_to_fw() - API to send the reject ap list to FW. * tgt_dlm_send_reject_list_to_fw() - API to send the reject ap list to FW.
* @pdev: pdev object * @pdev: pdev object
* @reject_params: Reject params contains the bssid list, and num of bssids * @reject_params: Reject params contains the bssid list, and num of bssids
* *
* This API will send the reject AP list maintained by the blacklist manager * This API will send the reject AP list maintained by the denylist manager
* to the target. * to the target.
* *
* Return: QDF status * Return: QDF status
*/ */
QDF_STATUS QDF_STATUS
tgt_blm_send_reject_list_to_fw(struct wlan_objmgr_pdev *pdev, tgt_dlm_send_reject_list_to_fw(struct wlan_objmgr_pdev *pdev,
struct reject_ap_params *reject_params); struct reject_ap_params *reject_params);
#endif #endif

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2019-2021 The Linux Foundation. All rights reserved. * Copyright (c) 2019-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -16,206 +17,206 @@
* PERFORMANCE OF THIS SOFTWARE. * PERFORMANCE OF THIS SOFTWARE.
*/ */
/** /**
* DOC: declare UCFG APIs exposed by the blacklist manager component * DOC: declare UCFG APIs exposed by the denylist manager component
*/ */
#ifndef _WLAN_BLM_UCFG_H_ #ifndef _WLAN_DLM_UCFG_H_
#define _WLAN_BLM_UCFG_H_ #define _WLAN_DLM_UCFG_H_
#include "qdf_types.h" #include "qdf_types.h"
#include "wlan_objmgr_psoc_obj.h" #include "wlan_objmgr_psoc_obj.h"
#include <wlan_blm_public_struct.h> #include <wlan_blm_public_struct.h>
#ifdef FEATURE_BLACKLIST_MGR #ifdef FEATURE_DENYLIST_MGR
/** /**
* ucfg_blm_init() - initialize blacklist mgr context * ucfg_dlm_init() - initialize denylist mgr context
* *
* This function initializes the blacklist mgr context * This function initializes the denylist mgr context
* *
* Return: QDF_STATUS_SUCCESS - in case of success else return error * Return: QDF_STATUS_SUCCESS - in case of success else return error
*/ */
QDF_STATUS ucfg_blm_init(void); QDF_STATUS ucfg_dlm_init(void);
/** /**
* ucfg_blm_deinit() - De initialize blacklist mgr context * ucfg_dlm_deinit() - De initialize denylist mgr context
* *
* This function De initializes blacklist mgr context * This function De initializes denylist mgr context
* *
* Return: QDF_STATUS_SUCCESS - in case of success else return error * Return: QDF_STATUS_SUCCESS - in case of success else return error
*/ */
QDF_STATUS ucfg_blm_deinit(void); QDF_STATUS ucfg_dlm_deinit(void);
/** /**
* ucfg_blm_psoc_set_suspended() - API to set blacklist mgr state suspended * ucfg_dlm_psoc_set_suspended() - API to set denylist mgr state suspended
* @psoc: pointer to psoc object * @psoc: pointer to psoc object
* @state: state to be set * @state: state to be set
* *
* This function sets blacklist mgr state to suspended * This function sets denylist mgr state to suspended
* *
* Return: QDF_STATUS_SUCCESS - in case of success else return error * Return: QDF_STATUS_SUCCESS - in case of success else return error
*/ */
QDF_STATUS ucfg_blm_psoc_set_suspended(struct wlan_objmgr_psoc *psoc, QDF_STATUS ucfg_dlm_psoc_set_suspended(struct wlan_objmgr_psoc *psoc,
bool state); bool state);
/** /**
* ucfg_blm_psoc_get_suspended() - API to get blacklist mgr state suspended * ucfg_dlm_psoc_get_suspended() - API to get denylist mgr state suspended
* @psoc: pointer to psoc object * @psoc: pointer to psoc object
* @state: pointer to get suspend state of blacklist manager * @state: pointer to get suspend state of denylist manager
* *
* Return: QDF_STATUS_SUCCESS - in case of success else return error * Return: QDF_STATUS_SUCCESS - in case of success else return error
*/ */
QDF_STATUS ucfg_blm_psoc_get_suspended(struct wlan_objmgr_psoc *psoc, QDF_STATUS ucfg_dlm_psoc_get_suspended(struct wlan_objmgr_psoc *psoc,
bool *state); bool *state);
/** /**
* ucfg_blm_psoc_open() - API to initialize the cfg when psoc is initialized. * ucfg_dlm_psoc_open() - API to initialize the cfg when psoc is initialized.
* @psoc: psoc object * @psoc: psoc object
* *
* This function initializes the config of blacklist mgr. * This function initializes the config of denylist mgr.
* *
* Return: QDF_STATUS_SUCCESS - in case of success else return error * Return: QDF_STATUS_SUCCESS - in case of success else return error
*/ */
QDF_STATUS ucfg_blm_psoc_open(struct wlan_objmgr_psoc *psoc); QDF_STATUS ucfg_dlm_psoc_open(struct wlan_objmgr_psoc *psoc);
/** /**
* ucfg_blm_psoc_close() - API to deinit the blm when psoc is deinitialized. * ucfg_dlm_psoc_close() - API to deinit the dlm when psoc is deinitialized.
* @psoc: psoc object * @psoc: psoc object
* *
* This function deinits the blm psoc object. * This function deinits the dlm psoc object.
* *
* Return: QDF_STATUS_SUCCESS - in case of success else return error * Return: QDF_STATUS_SUCCESS - in case of success else return error
*/ */
QDF_STATUS ucfg_blm_psoc_close(struct wlan_objmgr_psoc *psoc); QDF_STATUS ucfg_dlm_psoc_close(struct wlan_objmgr_psoc *psoc);
/** /**
* ucfg_blm_add_userspace_black_list() - Clear already existing userspace BSSID, * ucfg_dlm_add_userspace_deny_list() - Clear already existing userspace BSSID,
* and add the new ones to blacklist manager. * and add the new ones to denylist manager.
* @pdev: pdev object * @pdev: pdev object
* @bssid_black_list: BSSIDs to be blacklisted by userspace. * @bssid_deny_list: BSSIDs to be denylisted by userspace.
* @num_of_bssid: num of bssids to be blacklisted. * @num_of_bssid: num of bssids to be denylisted.
* *
* This API clear already existing userspace BSSID, and add the new ones to * This API clear already existing userspace BSSID, and add the new ones to
* blacklist manager * denylist manager
* *
* Return: QDF_STATUS_SUCCESS - in case of success else return error. * Return: QDF_STATUS_SUCCESS - in case of success else return error.
*/ */
QDF_STATUS QDF_STATUS
ucfg_blm_add_userspace_black_list(struct wlan_objmgr_pdev *pdev, ucfg_dlm_add_userspace_deny_list(struct wlan_objmgr_pdev *pdev,
struct qdf_mac_addr *bssid_black_list, struct qdf_mac_addr *bssid_deny_list,
uint8_t num_of_bssid); uint8_t num_of_bssid);
/** /**
* ucfg_blm_dump_black_list_ap() - get blacklisted bssid. * ucfg_dlm_dump_deny_list_ap() - get denylisted bssid.
* @pdev: pdev object * @pdev: pdev object
* *
* This API dumps blacklist ap * This API dumps denylist ap
* *
* Return: None * Return: None
*/ */
void ucfg_blm_dump_black_list_ap(struct wlan_objmgr_pdev *pdev); void ucfg_dlm_dump_deny_list_ap(struct wlan_objmgr_pdev *pdev);
/** /**
* ucfg_blm_update_bssid_connect_params() - Inform the BLM about connect or * ucfg_dlm_update_bssid_connect_params() - Inform the DLM about connect or
* disconnect with the current AP. * disconnect with the current AP.
* @pdev: pdev object * @pdev: pdev object
* @bssid: BSSID of the AP * @bssid: BSSID of the AP
* @con_state: Connection stae (connected/disconnected) * @con_state: Connection stae (connected/disconnected)
* *
* This API will inform the BLM about the state with the AP so that if the AP * This API will inform the DLM about the state with the AP so that if the AP
* is selected, and the connection went through, and the connection did not * is selected, and the connection went through, and the connection did not
* face any data stall till the bad bssid reset timer, BLM can remove the * face any data stall till the bad bssid reset timer, DLM can remove the
* AP from the reject ap list maintained by it. * AP from the reject ap list maintained by it.
* *
* Return: None * Return: None
*/ */
void void
ucfg_blm_update_bssid_connect_params(struct wlan_objmgr_pdev *pdev, ucfg_dlm_update_bssid_connect_params(struct wlan_objmgr_pdev *pdev,
struct qdf_mac_addr bssid, struct qdf_mac_addr bssid,
enum blm_connection_state con_state); enum dlm_connection_state con_state);
/** /**
* ucfg_blm_add_bssid_to_reject_list() - Add BSSID to the specific reject list. * ucfg_dlm_add_bssid_to_reject_list() - Add BSSID to the specific reject list.
* @pdev: Pdev object * @pdev: Pdev object
* @ap_info: Ap info params such as BSSID, and the type of rejection to be done * @ap_info: Ap info params such as BSSID, and the type of rejection to be done
* *
* This API will add the BSSID to the reject AP list maintained by the blacklist * This API will add the BSSID to the reject AP list maintained by the denylist
* manager. * manager.
* *
* Return: QDF_STATUS_SUCCESS - in case of success else return error. * Return: QDF_STATUS_SUCCESS - in case of success else return error.
*/ */
QDF_STATUS QDF_STATUS
ucfg_blm_add_bssid_to_reject_list(struct wlan_objmgr_pdev *pdev, ucfg_dlm_add_bssid_to_reject_list(struct wlan_objmgr_pdev *pdev,
struct reject_ap_info *ap_info); struct reject_ap_info *ap_info);
/** /**
* ucfg_blm_wifi_off() - Inform the blacklist manager about wifi off * ucfg_dlm_wifi_off() - Inform the denylist manager about wifi off
* @blm_ctx: blacklist manager pdev priv object * @dlm_ctx: denylist manager pdev priv object
* *
* This API will inform the blacklist manager that the user has turned wifi off * This API will inform the denylist manager that the user has turned wifi off
* from the UI, and the blacklist manager can take action based upon this. * from the UI, and the denylist manager can take action based upon this.
* *
* Return: None * Return: None
*/ */
void void
ucfg_blm_wifi_off(struct wlan_objmgr_pdev *pdev); ucfg_dlm_wifi_off(struct wlan_objmgr_pdev *pdev);
#else #else
static inline static inline
QDF_STATUS ucfg_blm_init(void) QDF_STATUS ucfg_dlm_init(void)
{ {
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
static inline static inline
QDF_STATUS ucfg_blm_deinit(void) QDF_STATUS ucfg_dlm_deinit(void)
{ {
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
static inline static inline
QDF_STATUS ucfg_blm_psoc_open(struct wlan_objmgr_psoc *psoc) QDF_STATUS ucfg_dlm_psoc_open(struct wlan_objmgr_psoc *psoc)
{ {
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
static inline static inline
QDF_STATUS ucfg_blm_psoc_close(struct wlan_objmgr_psoc *psoc) QDF_STATUS ucfg_dlm_psoc_close(struct wlan_objmgr_psoc *psoc)
{ {
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
static inline static inline
void ucfg_blm_dump_black_list_ap(struct wlan_objmgr_pdev *pdev) void ucfg_dlm_dump_deny_list_ap(struct wlan_objmgr_pdev *pdev)
{} {}
static inline static inline
QDF_STATUS QDF_STATUS
ucfg_blm_add_bssid_to_reject_list(struct wlan_objmgr_pdev *pdev, ucfg_dlm_add_bssid_to_reject_list(struct wlan_objmgr_pdev *pdev,
struct reject_ap_info *ap_info) struct reject_ap_info *ap_info)
{ {
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
static inline QDF_STATUS static inline QDF_STATUS
ucfg_blm_add_userspace_black_list(struct wlan_objmgr_pdev *pdev, ucfg_dlm_add_userspace_deny_list(struct wlan_objmgr_pdev *pdev,
struct qdf_mac_addr *bssid_black_list, struct qdf_mac_addr *bssid_deny_list,
uint8_t num_of_bssid) uint8_t num_of_bssid)
{ {
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
static inline void static inline void
ucfg_blm_update_bssid_connect_params(struct wlan_objmgr_pdev *pdev, ucfg_dlm_update_bssid_connect_params(struct wlan_objmgr_pdev *pdev,
struct qdf_mac_addr bssid, struct qdf_mac_addr bssid,
enum blm_connection_state con_state) enum dlm_connection_state con_state)
{ {
} }
static inline static inline
void ucfg_blm_wifi_off(struct wlan_objmgr_pdev *pdev) void ucfg_dlm_wifi_off(struct wlan_objmgr_pdev *pdev)
{ {
} }
#endif #endif
#endif /* _WLAN_BLM_UCFG_H_ */ #endif /* _WLAN_DLM_UCFG_H_ */

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2019-2020 The Linux Foundation. All rights reserved. * Copyright (c) 2019-2020 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -17,13 +18,13 @@
*/ */
/** /**
* DOC: This file contains ini params for blacklist mgr component * DOC: This file contains ini params for denylist mgr component
*/ */
#ifndef __CFG_BLM_H_ #ifndef __CFG_DLM_H_
#define __CFG_BLM_H_ #define __CFG_DLM_H_
#ifdef FEATURE_BLACKLIST_MGR #ifdef FEATURE_DENYLIST_MGR
/* /*
* <ini> * <ini>
@@ -53,13 +54,13 @@
/* /*
* <ini> * <ini>
* bad_bssid_counter_thresh - Threshold to move the Ap from avoid to blacklist. * bad_bssid_counter_thresh - Threshold to move the Ap from avoid to denylist.
* @Min: 2 * @Min: 2
* @Max: 10 * @Max: 10
* @Default: 3 * @Default: 3
* *
* This ini is used to specify the threshld after which the BSSID which is in * This ini is used to specify the threshld after which the BSSID which is in
* the avoid list should be moved to black list, assuming that the AP or the * the avoid list should be moved to deny list, assuming that the AP or the
* gateway with which the data stall happenend has no recovered, and now * gateway with which the data stall happenend has no recovered, and now
* the STA got the NUD failure again with the BSSID * the STA got the NUD failure again with the BSSID
* *
@@ -79,14 +80,14 @@
/* /*
* <ini> * <ini>
* black_list_expiry_time - Config Param to move AP from blacklist to monitor * deny_list_expiry_time - Config Param to move AP from denylist to monitor
* list. * list.
* @Min: 1 minutes * @Min: 1 minutes
* @Max: 600 minutes * @Max: 600 minutes
* @Default: 10 minutes * @Default: 10 minutes
* *
* This ini is used to specify the time after which the BSSID which is in the * This ini is used to specify the time after which the BSSID which is in the
* black list should be moved to monitor list, assuming that the AP or the * deny list should be moved to monitor list, assuming that the AP or the
* gateway with which the data stall happenend might have recovered, and now * gateway with which the data stall happenend might have recovered, and now
* the STA can give another chance to connect to the AP. * the STA can give another chance to connect to the AP.
* *
@@ -96,13 +97,13 @@
* *
* </ini> * </ini>
*/ */
#define CFG_BLACK_LIST_EXPIRY_TIME CFG_INI_UINT( \ #define CFG_DENY_LIST_EXPIRY_TIME CFG_INI_UINT( \
"black_list_expiry_time", \ "black_list_expiry_time", \
1, \ 1, \
600, \ 600, \
10, \ 10, \
CFG_VALUE_OR_DEFAULT, \ CFG_VALUE_OR_DEFAULT, \
"black list expiry") "deny list expiry")
/* /*
* <ini> * <ini>
@@ -135,14 +136,14 @@
/* /*
* <ini> * <ini>
* delta_rssi - RSSI threshold value, only when AP rssi improves * delta_rssi - RSSI threshold value, only when AP rssi improves
* by threshold value entry would be removed from blacklist manager and assoc * by threshold value entry would be removed from denylist manager and assoc
* req would be sent by FW. * req would be sent by FW.
* @Min: 0 * @Min: 0
* @Max: 10 * @Max: 10
* @Default: 5 * @Default: 5
* *
* This ini is used to specify the rssi threshold value, after rssi improves * This ini is used to specify the rssi threshold value, after rssi improves
* by threshold the BSSID which is in the blacklist manager list should be * by threshold the BSSID which is in the denylist manager list should be
* removed from the respective list. * removed from the respective list.
* *
* Supported Feature: Customer requirement * Supported Feature: Customer requirement
@@ -151,7 +152,7 @@
* *
* </ini> * </ini>
*/ */
#define CFG_BLACKLIST_RSSI_THRESHOLD CFG_INI_INT( \ #define CFG_DENYLIST_RSSI_THRESHOLD CFG_INI_INT( \
"delta_rssi", \ "delta_rssi", \
0, \ 0, \
10, \ 10, \
@@ -159,17 +160,17 @@
CFG_VALUE_OR_DEFAULT, \ CFG_VALUE_OR_DEFAULT, \
"Configure delta RSSI") "Configure delta RSSI")
#define CFG_BLACKLIST_MGR_ALL \ #define CFG_DENYLIST_MGR_ALL \
CFG(CFG_AVOID_LIST_EXPIRY_TIME) \ CFG(CFG_AVOID_LIST_EXPIRY_TIME) \
CFG(CFG_BAD_BSSID_COUNTER_THRESHOLD) \ CFG(CFG_BAD_BSSID_COUNTER_THRESHOLD) \
CFG(CFG_BLACK_LIST_EXPIRY_TIME) \ CFG(CFG_DENY_LIST_EXPIRY_TIME) \
CFG(CFG_BAD_BSSID_RESET_TIME) \ CFG(CFG_BAD_BSSID_RESET_TIME) \
CFG(CFG_BLACKLIST_RSSI_THRESHOLD) CFG(CFG_DENYLIST_RSSI_THRESHOLD)
#else #else
#define CFG_BLACKLIST_MGR_ALL #define CFG_DENYLIST_MGR_ALL
#endif /* FEATURE_BLACKLIST_MGR */ #endif /* FEATURE_DENYLIST_MGR */
#endif /* __CFG_BLACKLIST_MGR */ #endif /* __CFG_DENYLIST_MGR */

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2019-2020 The Linux Foundation. All rights reserved. * Copyright (c) 2019-2020 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -16,34 +17,34 @@
* PERFORMANCE OF THIS SOFTWARE. * PERFORMANCE OF THIS SOFTWARE.
*/ */
/** /**
* DOC: Implements public API for blacklist manager to interact with target/WMI * DOC: Implements public API for denylist manager to interact with target/WMI
*/ */
#include "wlan_blm_tgt_api.h" #include "wlan_blm_tgt_api.h"
#if defined(WLAN_FEATURE_ROAM_OFFLOAD) #if defined(WLAN_FEATURE_ROAM_OFFLOAD)
QDF_STATUS QDF_STATUS
tgt_blm_send_reject_list_to_fw(struct wlan_objmgr_pdev *pdev, tgt_dlm_send_reject_list_to_fw(struct wlan_objmgr_pdev *pdev,
struct reject_ap_params *reject_params) struct reject_ap_params *reject_params)
{ {
struct wlan_blm_tx_ops *blm_tx_ops; struct wlan_dlm_tx_ops *dlm_tx_ops;
struct blm_pdev_priv_obj *blm_priv; struct dlm_pdev_priv_obj *dlm_priv;
blm_priv = blm_get_pdev_obj(pdev); dlm_priv = dlm_get_pdev_obj(pdev);
if (!blm_priv) { if (!dlm_priv) {
blm_err("blm_priv is NULL"); dlm_err("dlm_priv is NULL");
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
} }
blm_tx_ops = &blm_priv->blm_tx_ops; dlm_tx_ops = &dlm_priv->dlm_tx_ops;
if (!blm_tx_ops) { if (!dlm_tx_ops) {
blm_err("blm_tx_ops is NULL"); dlm_err("dlm_tx_ops is NULL");
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
} }
if (blm_tx_ops->blm_send_reject_ap_list) if (dlm_tx_ops->dlm_send_reject_ap_list)
return blm_tx_ops->blm_send_reject_ap_list(pdev, reject_params); return dlm_tx_ops->dlm_send_reject_ap_list(pdev, reject_params);
blm_err("Tx ops not registered, failed to send reject list to FW"); dlm_err("Tx ops not registered, failed to send reject list to FW");
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
} }

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2019-2021 The Linux Foundation. All rights reserved. * Copyright (c) 2019-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -16,7 +17,7 @@
* PERFORMANCE OF THIS SOFTWARE. * PERFORMANCE OF THIS SOFTWARE.
*/ */
/** /**
* DOC: define UCFG APIs exposed by the blacklist mgr component * DOC: define UCFG APIs exposed by the denylist mgr component
*/ */
#include <wlan_blm_ucfg_api.h> #include <wlan_blm_ucfg_api.h>
@@ -24,229 +25,229 @@
#include <wlan_blm_api.h> #include <wlan_blm_api.h>
#include "wlan_pmo_obj_mgmt_api.h" #include "wlan_pmo_obj_mgmt_api.h"
QDF_STATUS ucfg_blm_init(void) QDF_STATUS ucfg_dlm_init(void)
{ {
QDF_STATUS status; QDF_STATUS status;
status = wlan_objmgr_register_pdev_create_handler( status = wlan_objmgr_register_pdev_create_handler(
WLAN_UMAC_COMP_BLACKLIST_MGR, WLAN_UMAC_COMP_DENYLIST_MGR,
blm_pdev_object_created_notification, dlm_pdev_object_created_notification,
NULL); NULL);
if (QDF_IS_STATUS_ERROR(status)) { if (QDF_IS_STATUS_ERROR(status)) {
blm_err("pdev create register notification failed"); dlm_err("pdev create register notification failed");
goto fail_create_pdev; goto fail_create_pdev;
} }
status = wlan_objmgr_register_pdev_destroy_handler( status = wlan_objmgr_register_pdev_destroy_handler(
WLAN_UMAC_COMP_BLACKLIST_MGR, WLAN_UMAC_COMP_DENYLIST_MGR,
blm_pdev_object_destroyed_notification, dlm_pdev_object_destroyed_notification,
NULL); NULL);
if (QDF_IS_STATUS_ERROR(status)) { if (QDF_IS_STATUS_ERROR(status)) {
blm_err("pdev destroy register notification failed"); dlm_err("pdev destroy register notification failed");
goto fail_destroy_pdev; goto fail_destroy_pdev;
} }
status = wlan_objmgr_register_psoc_create_handler( status = wlan_objmgr_register_psoc_create_handler(
WLAN_UMAC_COMP_BLACKLIST_MGR, WLAN_UMAC_COMP_DENYLIST_MGR,
blm_psoc_object_created_notification, dlm_psoc_object_created_notification,
NULL); NULL);
if (QDF_IS_STATUS_ERROR(status)) { if (QDF_IS_STATUS_ERROR(status)) {
blm_err("psoc create register notification failed"); dlm_err("psoc create register notification failed");
goto fail_create_psoc; goto fail_create_psoc;
} }
status = wlan_objmgr_register_psoc_destroy_handler( status = wlan_objmgr_register_psoc_destroy_handler(
WLAN_UMAC_COMP_BLACKLIST_MGR, WLAN_UMAC_COMP_DENYLIST_MGR,
blm_psoc_object_destroyed_notification, dlm_psoc_object_destroyed_notification,
NULL); NULL);
if (QDF_IS_STATUS_ERROR(status)) { if (QDF_IS_STATUS_ERROR(status)) {
blm_err("psoc destroy register notification failed"); dlm_err("psoc destroy register notification failed");
goto fail_destroy_psoc; goto fail_destroy_psoc;
} }
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
fail_destroy_psoc: fail_destroy_psoc:
wlan_objmgr_unregister_psoc_create_handler(WLAN_UMAC_COMP_BLACKLIST_MGR, wlan_objmgr_unregister_psoc_create_handler(WLAN_UMAC_COMP_DENYLIST_MGR,
blm_psoc_object_created_notification, NULL); dlm_psoc_object_created_notification, NULL);
fail_create_psoc: fail_create_psoc:
wlan_objmgr_unregister_pdev_destroy_handler( wlan_objmgr_unregister_pdev_destroy_handler(
WLAN_UMAC_COMP_BLACKLIST_MGR, WLAN_UMAC_COMP_DENYLIST_MGR,
blm_pdev_object_destroyed_notification, NULL); dlm_pdev_object_destroyed_notification, NULL);
fail_destroy_pdev: fail_destroy_pdev:
wlan_objmgr_unregister_pdev_create_handler(WLAN_UMAC_COMP_BLACKLIST_MGR, wlan_objmgr_unregister_pdev_create_handler(WLAN_UMAC_COMP_DENYLIST_MGR,
blm_pdev_object_created_notification, NULL); dlm_pdev_object_created_notification, NULL);
fail_create_pdev: fail_create_pdev:
return status; return status;
} }
QDF_STATUS ucfg_blm_deinit(void) QDF_STATUS ucfg_dlm_deinit(void)
{ {
QDF_STATUS status; QDF_STATUS status;
status = wlan_objmgr_unregister_psoc_destroy_handler( status = wlan_objmgr_unregister_psoc_destroy_handler(
WLAN_UMAC_COMP_BLACKLIST_MGR, WLAN_UMAC_COMP_DENYLIST_MGR,
blm_psoc_object_destroyed_notification, dlm_psoc_object_destroyed_notification,
NULL); NULL);
status = wlan_objmgr_unregister_psoc_create_handler( status = wlan_objmgr_unregister_psoc_create_handler(
WLAN_UMAC_COMP_BLACKLIST_MGR, WLAN_UMAC_COMP_DENYLIST_MGR,
blm_psoc_object_created_notification, dlm_psoc_object_created_notification,
NULL); NULL);
status = wlan_objmgr_unregister_pdev_destroy_handler( status = wlan_objmgr_unregister_pdev_destroy_handler(
WLAN_UMAC_COMP_BLACKLIST_MGR, WLAN_UMAC_COMP_DENYLIST_MGR,
blm_pdev_object_destroyed_notification, dlm_pdev_object_destroyed_notification,
NULL); NULL);
status = wlan_objmgr_unregister_pdev_create_handler( status = wlan_objmgr_unregister_pdev_create_handler(
WLAN_UMAC_COMP_BLACKLIST_MGR, WLAN_UMAC_COMP_DENYLIST_MGR,
blm_pdev_object_created_notification, dlm_pdev_object_created_notification,
NULL); NULL);
return status; return status;
} }
QDF_STATUS ucfg_blm_psoc_set_suspended(struct wlan_objmgr_psoc *psoc, QDF_STATUS ucfg_dlm_psoc_set_suspended(struct wlan_objmgr_psoc *psoc,
bool state) bool state)
{ {
struct blm_psoc_priv_obj *blm_psoc_obj; struct dlm_psoc_priv_obj *dlm_psoc_obj;
blm_psoc_obj = blm_get_psoc_obj(psoc); dlm_psoc_obj = dlm_get_psoc_obj(psoc);
if (!blm_psoc_obj) { if (!dlm_psoc_obj) {
blm_err("BLM psoc obj NULL"); dlm_err("DLM psoc obj NULL");
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
} }
blm_psoc_obj->is_suspended = state; dlm_psoc_obj->is_suspended = state;
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
QDF_STATUS ucfg_blm_psoc_get_suspended(struct wlan_objmgr_psoc *psoc, QDF_STATUS ucfg_dlm_psoc_get_suspended(struct wlan_objmgr_psoc *psoc,
bool *state) bool *state)
{ {
struct blm_psoc_priv_obj *blm_psoc_obj; struct dlm_psoc_priv_obj *dlm_psoc_obj;
blm_psoc_obj = blm_get_psoc_obj(psoc); dlm_psoc_obj = dlm_get_psoc_obj(psoc);
if (!blm_psoc_obj) { if (!dlm_psoc_obj) {
blm_err("BLM psoc obj NULL"); dlm_err("DLM psoc obj NULL");
*state = true; *state = true;
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
} }
*state = blm_psoc_obj->is_suspended; *state = dlm_psoc_obj->is_suspended;
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
static QDF_STATUS static QDF_STATUS
ucfg_blm_suspend_handler(struct wlan_objmgr_psoc *psoc, void *arg) ucfg_dlm_suspend_handler(struct wlan_objmgr_psoc *psoc, void *arg)
{ {
ucfg_blm_psoc_set_suspended(psoc, true); ucfg_dlm_psoc_set_suspended(psoc, true);
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
static QDF_STATUS static QDF_STATUS
ucfg_blm_resume_handler(struct wlan_objmgr_psoc *psoc, void *arg) ucfg_dlm_resume_handler(struct wlan_objmgr_psoc *psoc, void *arg)
{ {
ucfg_blm_psoc_set_suspended(psoc, false); ucfg_dlm_psoc_set_suspended(psoc, false);
blm_update_reject_ap_list_to_fw(psoc); dlm_update_reject_ap_list_to_fw(psoc);
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
static inline void static inline void
ucfg_blm_register_pmo_handler(void) ucfg_dlm_register_pmo_handler(void)
{ {
pmo_register_suspend_handler(WLAN_UMAC_COMP_BLACKLIST_MGR, pmo_register_suspend_handler(WLAN_UMAC_COMP_DENYLIST_MGR,
ucfg_blm_suspend_handler, NULL); ucfg_dlm_suspend_handler, NULL);
pmo_register_resume_handler(WLAN_UMAC_COMP_BLACKLIST_MGR, pmo_register_resume_handler(WLAN_UMAC_COMP_DENYLIST_MGR,
ucfg_blm_resume_handler, NULL); ucfg_dlm_resume_handler, NULL);
} }
static inline void static inline void
ucfg_blm_unregister_pmo_handler(void) ucfg_dlm_unregister_pmo_handler(void)
{ {
pmo_unregister_suspend_handler(WLAN_UMAC_COMP_BLACKLIST_MGR, pmo_unregister_suspend_handler(WLAN_UMAC_COMP_DENYLIST_MGR,
ucfg_blm_suspend_handler); ucfg_dlm_suspend_handler);
pmo_unregister_resume_handler(WLAN_UMAC_COMP_BLACKLIST_MGR, pmo_unregister_resume_handler(WLAN_UMAC_COMP_DENYLIST_MGR,
ucfg_blm_resume_handler); ucfg_dlm_resume_handler);
} }
QDF_STATUS ucfg_blm_psoc_open(struct wlan_objmgr_psoc *psoc) QDF_STATUS ucfg_dlm_psoc_open(struct wlan_objmgr_psoc *psoc)
{ {
ucfg_blm_register_pmo_handler(); ucfg_dlm_register_pmo_handler();
return blm_cfg_psoc_open(psoc); return dlm_cfg_psoc_open(psoc);
} }
QDF_STATUS ucfg_blm_psoc_close(struct wlan_objmgr_psoc *psoc) QDF_STATUS ucfg_dlm_psoc_close(struct wlan_objmgr_psoc *psoc)
{ {
ucfg_blm_unregister_pmo_handler(); ucfg_dlm_unregister_pmo_handler();
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
QDF_STATUS QDF_STATUS
ucfg_blm_add_bssid_to_reject_list(struct wlan_objmgr_pdev *pdev, ucfg_dlm_add_bssid_to_reject_list(struct wlan_objmgr_pdev *pdev,
struct reject_ap_info *ap_info) struct reject_ap_info *ap_info)
{ {
return blm_add_bssid_to_reject_list(pdev, ap_info); return dlm_add_bssid_to_reject_list(pdev, ap_info);
} }
QDF_STATUS QDF_STATUS
ucfg_blm_add_userspace_black_list(struct wlan_objmgr_pdev *pdev, ucfg_dlm_add_userspace_deny_list(struct wlan_objmgr_pdev *pdev,
struct qdf_mac_addr *bssid_black_list, struct qdf_mac_addr *bssid_deny_list,
uint8_t num_of_bssid) uint8_t num_of_bssid)
{ {
return blm_add_userspace_black_list(pdev, bssid_black_list, return dlm_add_userspace_deny_list(pdev, bssid_deny_list,
num_of_bssid); num_of_bssid);
} }
void void
ucfg_blm_dump_black_list_ap(struct wlan_objmgr_pdev *pdev) ucfg_dlm_dump_deny_list_ap(struct wlan_objmgr_pdev *pdev)
{ {
return wlan_blm_dump_blcklist_bssid(pdev); return wlan_dlm_dump_blcklist_bssid(pdev);
} }
void void
ucfg_blm_update_bssid_connect_params(struct wlan_objmgr_pdev *pdev, ucfg_dlm_update_bssid_connect_params(struct wlan_objmgr_pdev *pdev,
struct qdf_mac_addr bssid, struct qdf_mac_addr bssid,
enum blm_connection_state con_state) enum dlm_connection_state con_state)
{ {
wlan_blm_update_bssid_connect_params(pdev, bssid, con_state); wlan_dlm_update_bssid_connect_params(pdev, bssid, con_state);
} }
void void
ucfg_blm_wifi_off(struct wlan_objmgr_pdev *pdev) ucfg_dlm_wifi_off(struct wlan_objmgr_pdev *pdev)
{ {
struct blm_pdev_priv_obj *blm_ctx; struct dlm_pdev_priv_obj *dlm_ctx;
struct blm_psoc_priv_obj *blm_psoc_obj; struct dlm_psoc_priv_obj *dlm_psoc_obj;
struct blm_config *cfg; struct dlm_config *cfg;
QDF_STATUS status; QDF_STATUS status;
if (!pdev) { if (!pdev) {
blm_err("pdev is NULL"); dlm_err("pdev is NULL");
return; return;
} }
blm_ctx = blm_get_pdev_obj(pdev); dlm_ctx = dlm_get_pdev_obj(pdev);
blm_psoc_obj = blm_get_psoc_obj(wlan_pdev_get_psoc(pdev)); dlm_psoc_obj = dlm_get_psoc_obj(wlan_pdev_get_psoc(pdev));
if (!blm_ctx || !blm_psoc_obj) { if (!dlm_ctx || !dlm_psoc_obj) {
blm_err("blm_ctx or blm_psoc_obj is NULL"); dlm_err("dlm_ctx or dlm_psoc_obj is NULL");
return ; return;
} }
status = qdf_mutex_acquire(&blm_ctx->reject_ap_list_lock); status = qdf_mutex_acquire(&dlm_ctx->reject_ap_list_lock);
if (QDF_IS_STATUS_ERROR(status)) { if (QDF_IS_STATUS_ERROR(status)) {
blm_err("failed to acquire reject_ap_list_lock"); dlm_err("failed to acquire reject_ap_list_lock");
return; return;
} }
cfg = &blm_psoc_obj->blm_cfg; cfg = &dlm_psoc_obj->dlm_cfg;
blm_flush_reject_ap_list(blm_ctx); dlm_flush_reject_ap_list(dlm_ctx);
blm_send_reject_ap_list_to_fw(pdev, &blm_ctx->reject_ap_list, cfg); dlm_send_reject_ap_list_to_fw(pdev, &dlm_ctx->reject_ap_list, cfg);
qdf_mutex_release(&blm_ctx->reject_ap_list_lock); qdf_mutex_release(&dlm_ctx->reject_ap_list_lock);
} }

View File

@@ -53,7 +53,7 @@
/* Maintain Alphabetic order here while adding components */ /* Maintain Alphabetic order here while adding components */
#define CFG_ALL \ #define CFG_ALL \
CFG_BLACKLIST_MGR_ALL \ CFG_DENYLIST_MGR_ALL \
CFG_CONVERGED_ALL \ CFG_CONVERGED_ALL \
CFG_FWOL_ALL \ CFG_FWOL_ALL \
CFG_POLICY_MGR_ALL \ CFG_POLICY_MGR_ALL \

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2019-2020 The Linux Foundation. All rights reserved. * Copyright (c) 2019-2020 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -16,19 +17,19 @@
* PERFORMANCE OF THIS SOFTWARE. * PERFORMANCE OF THIS SOFTWARE.
*/ */
/** /**
* DOC: Target interface file for blacklist manager component to * DOC: Target interface file for denylist manager component to
* declare api's which shall be used by blacklist manager component * declare api's which shall be used by denylist manager component
* in target if internally. * in target if internally.
*/ */
#ifndef __TARGET_IF_BLM_H #ifndef __TARGET_IF_DLM_H
#define __TARGET_IF_BLM_H #define __TARGET_IF_DLM_H
#include "wlan_blm_public_struct.h" #include "wlan_blm_public_struct.h"
#if defined(WLAN_FEATURE_ROAM_OFFLOAD) #if defined(WLAN_FEATURE_ROAM_OFFLOAD)
/** /**
* target_if_blm_send_reject_ap_list() - API to send reject ap list to FW * target_if_dlm_send_reject_ap_list() - API to send reject ap list to FW
* @pdev: pdev object * @pdev: pdev object
* @reject_params: This contains the reject ap list, and the num of BSSIDs * @reject_params: This contains the reject ap list, and the num of BSSIDs
* *
@@ -38,24 +39,24 @@
* Return: Qdf status * Return: Qdf status
*/ */
QDF_STATUS QDF_STATUS
target_if_blm_send_reject_ap_list(struct wlan_objmgr_pdev *pdev, target_if_dlm_send_reject_ap_list(struct wlan_objmgr_pdev *pdev,
struct reject_ap_params *reject_params); struct reject_ap_params *reject_params);
/** /**
* target_if_blm_register_tx_ops() - Register blm tx ops * target_if_dlm_register_tx_ops() - Register dlm tx ops
* @blm_tx_ops: BLM tx ops * @dlm_tx_ops: DLM tx ops
* *
* This API will register the tx ops used by the BLM to send commands to the * This API will register the tx ops used by the DLM to send commands to the
* target. * target.
* *
* Return: void * Return: void
*/ */
void target_if_blm_register_tx_ops(struct wlan_blm_tx_ops *blm_tx_ops); void target_if_dlm_register_tx_ops(struct wlan_dlm_tx_ops *dlm_tx_ops);
#else #else
static inline void target_if_blm_register_tx_ops( static inline void target_if_dlm_register_tx_ops(
struct wlan_blm_tx_ops *blm_tx_ops) struct wlan_dlm_tx_ops *dlm_tx_ops)
{ {
} }
#endif //WLAN_FEATURE_ROAM_OFFLOAD #endif //WLAN_FEATURE_ROAM_OFFLOAD
#endif //__TARGET_IF_BLM_H #endif //__TARGET_IF_DLM_H

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2019-2020 The Linux Foundation. All rights reserved. * Copyright (c) 2019-2020 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -16,8 +17,8 @@
* PERFORMANCE OF THIS SOFTWARE. * PERFORMANCE OF THIS SOFTWARE.
*/ */
/** /**
* DOC: Target interface file for blacklist manager component to * DOC: Target interface file for denylist manager component to
* Implement api's which shall be used by blacklist manager component * Implement api's which shall be used by denylist manager component
* in target if internally. * in target if internally.
*/ */
@@ -26,7 +27,7 @@
#if defined(WLAN_FEATURE_ROAM_OFFLOAD) #if defined(WLAN_FEATURE_ROAM_OFFLOAD)
QDF_STATUS QDF_STATUS
target_if_blm_send_reject_ap_list(struct wlan_objmgr_pdev *pdev, target_if_dlm_send_reject_ap_list(struct wlan_objmgr_pdev *pdev,
struct reject_ap_params *reject_params) struct reject_ap_params *reject_params)
{ {
struct wmi_unified *wmi_handle; struct wmi_unified *wmi_handle;
@@ -40,13 +41,13 @@ target_if_blm_send_reject_ap_list(struct wlan_objmgr_pdev *pdev,
return wmi_unified_send_reject_ap_list(wmi_handle, reject_params); return wmi_unified_send_reject_ap_list(wmi_handle, reject_params);
} }
void target_if_blm_register_tx_ops(struct wlan_blm_tx_ops *blm_tx_ops) void target_if_dlm_register_tx_ops(struct wlan_dlm_tx_ops *dlm_tx_ops)
{ {
if (!blm_tx_ops) { if (!dlm_tx_ops) {
target_if_err("blm_tx_ops is null"); target_if_err("dlm_tx_ops is null");
return; return;
} }
blm_tx_ops->blm_send_reject_ap_list = target_if_blm_send_reject_ap_list; dlm_tx_ops->dlm_send_reject_ap_list = target_if_dlm_send_reject_ap_list;
} }
#endif #endif

View File

@@ -144,10 +144,10 @@ cm_fw_roam_sync_start_ind(struct wlan_objmgr_vdev *vdev,
wlan_mlme_get_bssid_vdev_id(pdev, vdev_id, wlan_mlme_get_bssid_vdev_id(pdev, vdev_id,
&connected_bssid); &connected_bssid);
/* Update the BLM that the previous profile has disconnected */ /* Update the DLM that the previous profile has disconnected */
wlan_blm_update_bssid_connect_params(pdev, wlan_dlm_update_bssid_connect_params(pdev,
connected_bssid, connected_bssid,
BLM_AP_DISCONNECTED); DLM_AP_DISCONNECTED);
if (IS_ROAM_REASON_STA_KICKOUT(roam_reason)) { if (IS_ROAM_REASON_STA_KICKOUT(roam_reason)) {
struct reject_ap_info ap_info; struct reject_ap_info ap_info;
@@ -156,7 +156,7 @@ cm_fw_roam_sync_start_ind(struct wlan_objmgr_vdev *vdev,
ap_info.reject_ap_type = DRIVER_AVOID_TYPE; ap_info.reject_ap_type = DRIVER_AVOID_TYPE;
ap_info.reject_reason = REASON_STA_KICKOUT; ap_info.reject_reason = REASON_STA_KICKOUT;
ap_info.source = ADDED_BY_DRIVER; ap_info.source = ADDED_BY_DRIVER;
wlan_blm_add_bssid_to_reject_list(pdev, &ap_info); wlan_dlm_add_bssid_to_reject_list(pdev, &ap_info);
} }
cm_update_scan_mlme_on_roam(vdev, &connected_bssid, cm_update_scan_mlme_on_roam(vdev, &connected_bssid,
@@ -1096,7 +1096,7 @@ static QDF_STATUS cm_handle_ho_fail(struct scheduler_msg *msg)
ap_info.reject_ap_type = DRIVER_AVOID_TYPE; ap_info.reject_ap_type = DRIVER_AVOID_TYPE;
ap_info.reject_reason = REASON_ROAM_HO_FAILURE; ap_info.reject_reason = REASON_ROAM_HO_FAILURE;
ap_info.source = ADDED_BY_DRIVER; ap_info.source = ADDED_BY_DRIVER;
wlan_blm_add_bssid_to_reject_list(pdev, &ap_info); wlan_dlm_add_bssid_to_reject_list(pdev, &ap_info);
cm_ho_fail_diag_event(); cm_ho_fail_diag_event();
wlan_roam_debug_log(ind->vdev_id, wlan_roam_debug_log(ind->vdev_id,

View File

@@ -1969,9 +1969,9 @@ cm_add_blacklist_ap_list(struct wlan_objmgr_pdev *pdev,
return; return;
params->num_bssid_black_list = params->num_bssid_black_list =
wlan_blm_get_bssid_reject_list(pdev, reject_list, wlan_dlm_get_bssid_reject_list(pdev, reject_list,
MAX_RSSI_AVOID_BSSID_LIST, MAX_RSSI_AVOID_BSSID_LIST,
USERSPACE_BLACKLIST_TYPE); USERSPACE_DENYLIST_TYPE);
if (!params->num_bssid_black_list) { if (!params->num_bssid_black_list) {
qdf_mem_free(reject_list); qdf_mem_free(reject_list);
return; return;
@@ -2058,7 +2058,7 @@ cm_roam_scan_filter(struct wlan_objmgr_psoc *psoc,
* until RSSI OR time condition are matched. * until RSSI OR time condition are matched.
*/ */
params->num_rssi_rejection_ap = params->num_rssi_rejection_ap =
wlan_blm_get_bssid_reject_list(pdev, wlan_dlm_get_bssid_reject_list(pdev,
params->rssi_rejection_ap, params->rssi_rejection_ap,
MAX_RSSI_AVOID_BSSID_LIST, MAX_RSSI_AVOID_BSSID_LIST,
DRIVER_RSSI_REJECT_TYPE); DRIVER_RSSI_REJECT_TYPE);
@@ -2104,7 +2104,7 @@ cm_roam_scan_filter(struct wlan_objmgr_psoc *psoc,
params->num_ssid_white_list = num_ssid_white_list; params->num_ssid_white_list = num_ssid_white_list;
params->num_bssid_preferred_list = num_bssid_preferred_list; params->num_bssid_preferred_list = num_bssid_preferred_list;
params->delta_rssi = params->delta_rssi =
wlan_blm_get_rssi_blacklist_threshold(pdev); wlan_dlm_get_rssi_denylist_threshold(pdev);
for (i = 0; i < num_ssid_white_list; i++) { for (i = 0; i < num_ssid_white_list; i++) {
qdf_mem_copy(params->ssid_allowed_list[i].ssid, qdf_mem_copy(params->ssid_allowed_list[i].ssid,

View File

@@ -2045,18 +2045,18 @@ enum roam_reason {
* @timeout: time duration for which the bssid is blacklisted * @timeout: time duration for which the bssid is blacklisted
* @received_time: boot timestamp at which the firmware event was received * @received_time: boot timestamp at which the firmware event was received
* @rssi: rssi value for which the bssid is blacklisted * @rssi: rssi value for which the bssid is blacklisted
* @reject_reason: reason to add the BSSID to BLM * @reject_reason: reason to add the BSSID to DLM
* @original_timeout: original timeout sent by the AP * @original_timeout: original timeout sent by the AP
* @source: Source of adding the BSSID to BLM * @source: Source of adding the BSSID to DLM
*/ */
struct roam_blacklist_timeout { struct roam_blacklist_timeout {
struct qdf_mac_addr bssid; struct qdf_mac_addr bssid;
uint32_t timeout; uint32_t timeout;
qdf_time_t received_time; qdf_time_t received_time;
int32_t rssi; int32_t rssi;
enum blm_reject_ap_reason reject_reason; enum dlm_reject_ap_reason reject_reason;
uint32_t original_timeout; uint32_t original_timeout;
enum blm_reject_ap_source source; enum dlm_reject_ap_source source;
}; };
/* /*

View File

@@ -2523,8 +2523,8 @@ cm_add_bssid_to_reject_list(struct wlan_objmgr_pdev *pdev,
ap_info.source = entry->source; ap_info.source = entry->source;
ap_info.rssi_reject_params.received_time = entry->received_time; ap_info.rssi_reject_params.received_time = entry->received_time;
ap_info.rssi_reject_params.original_timeout = entry->original_timeout; ap_info.rssi_reject_params.original_timeout = entry->original_timeout;
/* Add this ap info to the rssi reject ap type in blacklist manager */ /* Add this ap info to the rssi reject ap type in denylist manager */
wlan_blm_add_bssid_to_reject_list(pdev, &ap_info); wlan_dlm_add_bssid_to_reject_list(pdev, &ap_info);
} }
QDF_STATUS QDF_STATUS

View File

@@ -2654,7 +2654,7 @@ end:
return status; return status;
} }
static enum blm_reject_ap_reason wmi_get_reject_reason(uint32_t reason) static enum dlm_reject_ap_reason wmi_get_reject_reason(uint32_t reason)
{ {
switch (reason) { switch (reason) {
case WMI_BL_REASON_NUD_FAILURE: case WMI_BL_REASON_NUD_FAILURE:

View File

@@ -1139,7 +1139,7 @@ CONFIG_REG_CLIENT := y
CONFIG_WLAN_PMO_ENABLE := y CONFIG_WLAN_PMO_ENABLE := y
CONFIG_CONVERGED_P2P_ENABLE := y CONFIG_CONVERGED_P2P_ENABLE := y
CONFIG_WLAN_POLICY_MGR_ENABLE := y CONFIG_WLAN_POLICY_MGR_ENABLE := y
CONFIG_FEATURE_BLACKLIST_MGR := y CONFIG_FEATURE_DENYLIST_MGR := y
CONFIG_FOURTH_CONNECTION := y CONFIG_FOURTH_CONNECTION := y
CONFIG_SUPPORT_11AX := y CONFIG_SUPPORT_11AX := y
CONFIG_HDD_INIT_WITH_RTNL_LOCK := y CONFIG_HDD_INIT_WITH_RTNL_LOCK := y

View File

@@ -652,7 +652,7 @@ CONFIG_REG_CLIENT := y
CONFIG_WLAN_PMO_ENABLE := y CONFIG_WLAN_PMO_ENABLE := y
CONFIG_CONVERGED_P2P_ENABLE := y CONFIG_CONVERGED_P2P_ENABLE := y
CONFIG_WLAN_POLICY_MGR_ENABLE := y CONFIG_WLAN_POLICY_MGR_ENABLE := y
CONFIG_FEATURE_BLACKLIST_MGR := y CONFIG_FEATURE_DENYLIST_MGR := y
CONFIG_SUPPORT_11AX := y CONFIG_SUPPORT_11AX := y
CONFIG_HDD_INIT_WITH_RTNL_LOCK := y CONFIG_HDD_INIT_WITH_RTNL_LOCK := y
CONFIG_WLAN_CONV_SPECTRAL_ENABLE := y CONFIG_WLAN_CONV_SPECTRAL_ENABLE := y

View File

@@ -6,8 +6,8 @@ CONFIG_WLAN_MAX_VDEVS := 5
# Flag to enable/disable TARGET 11d scan # Flag to enable/disable TARGET 11d scan
CONFIG_TARGET_11D_SCAN := y CONFIG_TARGET_11D_SCAN := y
# Enable BLACKLIST_MGR # Enable DENYLIST_MGR
CONFIG_FEATURE_BLACKLIST_MGR := y CONFIG_FEATURE_DENYLIST_MGR := y
CONFIG_WLAN_FEATURE_LINK_LAYER_STATS := y CONFIG_WLAN_FEATURE_LINK_LAYER_STATS := y
# Enable Thermal throttle # Enable Thermal throttle

View File

@@ -859,7 +859,7 @@ CONFIG_REG_CLIENT := y
CONFIG_WLAN_PMO_ENABLE := y CONFIG_WLAN_PMO_ENABLE := y
CONFIG_CONVERGED_P2P_ENABLE := y CONFIG_CONVERGED_P2P_ENABLE := y
CONFIG_WLAN_POLICY_MGR_ENABLE := y CONFIG_WLAN_POLICY_MGR_ENABLE := y
CONFIG_FEATURE_BLACKLIST_MGR := y CONFIG_FEATURE_DENYLIST_MGR := y
CONFIG_FOURTH_CONNECTION := y CONFIG_FOURTH_CONNECTION := y
CONFIG_SUPPORT_11AX := y CONFIG_SUPPORT_11AX := y
CONFIG_HDD_INIT_WITH_RTNL_LOCK := y CONFIG_HDD_INIT_WITH_RTNL_LOCK := y

View File

@@ -4587,24 +4587,24 @@ static int hdd_set_blacklist_bssid(struct hdd_context *hdd_ctx,
uint8_t j = 0; uint8_t j = 0;
struct nlattr *tb2[MAX_ROAMING_PARAM + 1]; struct nlattr *tb2[MAX_ROAMING_PARAM + 1];
struct nlattr *curr_attr = NULL; struct nlattr *curr_attr = NULL;
struct qdf_mac_addr *black_list_bssid; struct qdf_mac_addr *deny_list_bssid;
mac_handle_t mac_handle; mac_handle_t mac_handle;
/* Parse and fetch number of blacklist BSSID */ /* Parse and fetch number of denylist BSSID */
if (!tb[PARAMS_NUM_BSSID]) { if (!tb[PARAMS_NUM_BSSID]) {
hdd_err("attr num of blacklist bssid failed"); hdd_err("attr num of denylist bssid failed");
goto fail; goto fail;
} }
count = nla_get_u32(tb[PARAMS_NUM_BSSID]); count = nla_get_u32(tb[PARAMS_NUM_BSSID]);
if (count > MAX_BSSID_AVOID_LIST) { if (count > MAX_BSSID_AVOID_LIST) {
hdd_err("Blacklist BSSID count %u exceeds max %u", hdd_err("Denylist BSSID count %u exceeds max %u",
count, MAX_BSSID_AVOID_LIST); count, MAX_BSSID_AVOID_LIST);
goto fail; goto fail;
} }
hdd_debug("Num of blacklist BSSID (%d)", count); hdd_debug("Num of denylist BSSID (%d)", count);
black_list_bssid = qdf_mem_malloc(sizeof(*black_list_bssid) * deny_list_bssid = qdf_mem_malloc(sizeof(*deny_list_bssid) *
MAX_BSSID_AVOID_LIST); MAX_BSSID_AVOID_LIST);
if (!black_list_bssid) if (!deny_list_bssid)
goto fail; goto fail;
i = 0; i = 0;
@@ -4613,7 +4613,7 @@ static int hdd_set_blacklist_bssid(struct hdd_context *hdd_ctx,
tb[PARAM_BSSID_PARAMS], tb[PARAM_BSSID_PARAMS],
rem) { rem) {
if (i == count) { if (i == count) {
hdd_warn("Ignoring excess Blacklist BSSID"); hdd_warn("Ignoring excess Denylist BSSID");
break; break;
} }
@@ -4623,13 +4623,13 @@ static int hdd_set_blacklist_bssid(struct hdd_context *hdd_ctx,
nla_len(curr_attr), nla_len(curr_attr),
wlan_hdd_set_roam_param_policy)) { wlan_hdd_set_roam_param_policy)) {
hdd_err("nla_parse failed"); hdd_err("nla_parse failed");
qdf_mem_free(black_list_bssid); qdf_mem_free(deny_list_bssid);
goto fail; goto fail;
} }
/* Parse and fetch MAC address */ /* Parse and fetch MAC address */
if (!tb2[PARAM_SET_BSSID]) { if (!tb2[PARAM_SET_BSSID]) {
hdd_err("attr blacklist addr failed"); hdd_err("attr denylist addr failed");
qdf_mem_free(black_list_bssid); qdf_mem_free(deny_list_bssid);
goto fail; goto fail;
} }
if (tb2[PARAM_SET_BSSID_HINT]) { if (tb2[PARAM_SET_BSSID_HINT]) {
@@ -4645,28 +4645,28 @@ static int hdd_set_blacklist_bssid(struct hdd_context *hdd_ctx,
REASON_USERSPACE_AVOID_LIST; REASON_USERSPACE_AVOID_LIST;
ap_info.source = ADDED_BY_DRIVER; ap_info.source = ADDED_BY_DRIVER;
/* This BSSID is avoided and not blacklisted */ /* This BSSID is avoided and not denylisted */
ucfg_blm_add_bssid_to_reject_list(hdd_ctx->pdev, ucfg_dlm_add_bssid_to_reject_list(hdd_ctx->pdev,
&ap_info); &ap_info);
i++; i++;
continue; continue;
} }
nla_memcpy(black_list_bssid[j].bytes, nla_memcpy(deny_list_bssid[j].bytes,
tb2[PARAM_SET_BSSID], QDF_MAC_ADDR_SIZE); tb2[PARAM_SET_BSSID], QDF_MAC_ADDR_SIZE);
hdd_debug(QDF_MAC_ADDR_FMT, hdd_debug(QDF_MAC_ADDR_FMT,
QDF_MAC_ADDR_REF(black_list_bssid[j].bytes)); QDF_MAC_ADDR_REF(deny_list_bssid[j].bytes));
i++; i++;
j++; j++;
} }
} }
if (i < count) if (i < count)
hdd_warn("Num Blacklist BSSID %u less than expected %u", hdd_warn("Num Denylist BSSID %u less than expected %u",
i, count); i, count);
/* Send the blacklist to the blacklist mgr component */ /* Send the denylist to the denylist mgr component */
ucfg_blm_add_userspace_black_list(hdd_ctx->pdev, black_list_bssid, j); ucfg_dlm_add_userspace_deny_list(hdd_ctx->pdev, deny_list_bssid, j);
qdf_mem_free(black_list_bssid); qdf_mem_free(deny_list_bssid);
mac_handle = hdd_ctx->mac_handle; mac_handle = hdd_ctx->mac_handle;
sme_update_roam_params(mac_handle, vdev_id, sme_update_roam_params(mac_handle, vdev_id,
rso_config, REASON_ROAM_SET_BLACKLIST_BSSID); rso_config, REASON_ROAM_SET_BLACKLIST_BSSID);

View File

@@ -618,7 +618,7 @@ int wlan_hdd_cm_connect(struct wiphy *wiphy,
} }
qdf_mem_zero(&params, sizeof(params)); qdf_mem_zero(&params, sizeof(params));
ucfg_blm_dump_black_list_ap(hdd_ctx->pdev); ucfg_dlm_dump_deny_list_ap(hdd_ctx->pdev);
vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_CM_ID); vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_CM_ID);
if (!vdev) if (!vdev)
return -EINVAL; return -EINVAL;

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved. * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for any * Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above * purpose with or without fee is hereby granted, provided that the above
@@ -53,7 +54,7 @@ hdd_dcs_add_bssid_to_reject_list(struct wlan_objmgr_pdev *pdev,
ap_info.reject_ap_type = DRIVER_RSSI_REJECT_TYPE; ap_info.reject_ap_type = DRIVER_RSSI_REJECT_TYPE;
ap_info.reject_reason = REASON_STA_KICKOUT; ap_info.reject_reason = REASON_STA_KICKOUT;
ap_info.source = ADDED_BY_DRIVER; ap_info.source = ADDED_BY_DRIVER;
return ucfg_blm_add_bssid_to_reject_list(pdev, &ap_info); return ucfg_dlm_add_bssid_to_reject_list(pdev, &ap_info);
} }
/** /**

View File

@@ -394,7 +394,7 @@ static const struct category_info cinfo[MAX_SUPPORTED_CATEGORY] = {
[QDF_MODULE_ID_CP_STATS] = {QDF_TRACE_LEVEL_ALL}, [QDF_MODULE_ID_CP_STATS] = {QDF_TRACE_LEVEL_ALL},
[QDF_MODULE_ID_DCS] = {QDF_TRACE_LEVEL_ALL}, [QDF_MODULE_ID_DCS] = {QDF_TRACE_LEVEL_ALL},
[QDF_MODULE_ID_INTEROP_ISSUES_AP] = {QDF_TRACE_LEVEL_ALL}, [QDF_MODULE_ID_INTEROP_ISSUES_AP] = {QDF_TRACE_LEVEL_ALL},
[QDF_MODULE_ID_BLACKLIST_MGR] = {QDF_TRACE_LEVEL_ALL}, [QDF_MODULE_ID_DENYLIST_MGR] = {QDF_TRACE_LEVEL_ALL},
[QDF_MODULE_ID_DIRECT_BUF_RX] = {QDF_TRACE_LEVEL_ALL}, [QDF_MODULE_ID_DIRECT_BUF_RX] = {QDF_TRACE_LEVEL_ALL},
[QDF_MODULE_ID_SPECTRAL] = {QDF_TRACE_LEVEL_ALL}, [QDF_MODULE_ID_SPECTRAL] = {QDF_TRACE_LEVEL_ALL},
[QDF_MODULE_ID_WIFIPOS] = {QDF_TRACE_LEVEL_ALL}, [QDF_MODULE_ID_WIFIPOS] = {QDF_TRACE_LEVEL_ALL},
@@ -17029,7 +17029,7 @@ static void __hdd_inform_wifi_off(void)
if (ret != 0) if (ret != 0)
return; return;
ucfg_blm_wifi_off(hdd_ctx->pdev); ucfg_dlm_wifi_off(hdd_ctx->pdev);
} }
static void hdd_inform_wifi_off(void) static void hdd_inform_wifi_off(void)
@@ -17358,13 +17358,13 @@ static QDF_STATUS hdd_component_init(void)
if (QDF_IS_STATUS_ERROR(status)) if (QDF_IS_STATUS_ERROR(status))
goto policy_deinit; goto policy_deinit;
status = ucfg_blm_init(); status = ucfg_dlm_init();
if (QDF_IS_STATUS_ERROR(status)) if (QDF_IS_STATUS_ERROR(status))
goto tdls_deinit; goto tdls_deinit;
status = ucfg_pkt_capture_init(); status = ucfg_pkt_capture_init();
if (QDF_IS_STATUS_ERROR(status)) if (QDF_IS_STATUS_ERROR(status))
goto blm_deinit; goto dlm_deinit;
status = ucfg_ftm_time_sync_init(); status = ucfg_ftm_time_sync_init();
if (QDF_IS_STATUS_ERROR(status)) if (QDF_IS_STATUS_ERROR(status))
@@ -17374,8 +17374,8 @@ static QDF_STATUS hdd_component_init(void)
pkt_capture_deinit: pkt_capture_deinit:
ucfg_pkt_capture_deinit(); ucfg_pkt_capture_deinit();
blm_deinit: dlm_deinit:
ucfg_blm_deinit(); ucfg_dlm_deinit();
tdls_deinit: tdls_deinit:
ucfg_tdls_deinit(); ucfg_tdls_deinit();
policy_deinit: policy_deinit:
@@ -17420,7 +17420,7 @@ static void hdd_component_deinit(void)
/* deinitialize non-converged components */ /* deinitialize non-converged components */
ucfg_ftm_time_sync_deinit(); ucfg_ftm_time_sync_deinit();
ucfg_pkt_capture_deinit(); ucfg_pkt_capture_deinit();
ucfg_blm_deinit(); ucfg_dlm_deinit();
ucfg_tdls_deinit(); ucfg_tdls_deinit();
policy_mgr_deinit(); policy_mgr_deinit();
ucfg_interop_issues_ap_deinit(); ucfg_interop_issues_ap_deinit();
@@ -17448,9 +17448,9 @@ QDF_STATUS hdd_component_psoc_open(struct wlan_objmgr_psoc *psoc)
if (QDF_IS_STATUS_ERROR(status)) if (QDF_IS_STATUS_ERROR(status))
return status; return status;
status = ucfg_blm_psoc_open(psoc); status = ucfg_dlm_psoc_open(psoc);
if (QDF_IS_STATUS_ERROR(status)) if (QDF_IS_STATUS_ERROR(status))
goto err_blm; goto err_dlm;
status = ucfg_fwol_psoc_open(psoc); status = ucfg_fwol_psoc_open(psoc);
if (QDF_IS_STATUS_ERROR(status)) if (QDF_IS_STATUS_ERROR(status))
@@ -17489,8 +17489,8 @@ err_plcy_mgr:
err_pmo: err_pmo:
ucfg_fwol_psoc_close(psoc); ucfg_fwol_psoc_close(psoc);
err_fwol: err_fwol:
ucfg_blm_psoc_close(psoc); ucfg_dlm_psoc_close(psoc);
err_blm: err_dlm:
ucfg_mlme_psoc_close(psoc); ucfg_mlme_psoc_close(psoc);
return status; return status;
@@ -17503,7 +17503,7 @@ void hdd_component_psoc_close(struct wlan_objmgr_psoc *psoc)
ucfg_policy_mgr_psoc_close(psoc); ucfg_policy_mgr_psoc_close(psoc);
ucfg_pmo_psoc_close(psoc); ucfg_pmo_psoc_close(psoc);
ucfg_fwol_psoc_close(psoc); ucfg_fwol_psoc_close(psoc);
ucfg_blm_psoc_close(psoc); ucfg_dlm_psoc_close(psoc);
ucfg_mlme_psoc_close(psoc); ucfg_mlme_psoc_close(psoc);
} }

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved. * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -253,7 +254,7 @@ hdd_handle_nud_fail_sta(struct hdd_context *hdd_ctx,
ap_info.reject_ap_type = DRIVER_AVOID_TYPE; ap_info.reject_ap_type = DRIVER_AVOID_TYPE;
ap_info.reject_reason = REASON_NUD_FAILURE; ap_info.reject_reason = REASON_NUD_FAILURE;
ap_info.source = ADDED_BY_DRIVER; ap_info.source = ADDED_BY_DRIVER;
ucfg_blm_add_bssid_to_reject_list(hdd_ctx->pdev, &ap_info); ucfg_dlm_add_bssid_to_reject_list(hdd_ctx->pdev, &ap_info);
if (roaming_offload_enabled(hdd_ctx)) { if (roaming_offload_enabled(hdd_ctx)) {
qdf_zero_macaddr(&bssid); qdf_zero_macaddr(&bssid);

View File

@@ -5102,8 +5102,8 @@ struct sir_peer_set_rx_blocksize {
* @retry_delay: Retry delay received during last rejection in ms * @retry_delay: Retry delay received during last rejection in ms
* @ expected_rssi: RSSI at which STA can initate * @ expected_rssi: RSSI at which STA can initate
* @time_during_rejection: Timestamp during last rejection in millisec * @time_during_rejection: Timestamp during last rejection in millisec
* @reject_reason: reason to add the BSSID to BLM * @reject_reason: reason to add the BSSID to DLM
* @source: Source of adding the BSSID to BLM * @source: Source of adding the BSSID to DLM
* @original_timeout: original timeout sent by the AP * @original_timeout: original timeout sent by the AP
* @received_time: Timestamp when the AP was added to the Blacklist * @received_time: Timestamp when the AP was added to the Blacklist
*/ */
@@ -5113,8 +5113,8 @@ struct sir_rssi_disallow_lst {
uint32_t retry_delay; uint32_t retry_delay;
int8_t expected_rssi; int8_t expected_rssi;
qdf_time_t time_during_rejection; qdf_time_t time_during_rejection;
enum blm_reject_ap_reason reject_reason; enum dlm_reject_ap_reason reject_reason;
enum blm_reject_ap_source source; enum dlm_reject_ap_source source;
uint32_t original_timeout; uint32_t original_timeout;
qdf_time_t received_time; qdf_time_t received_time;
}; };

View File

@@ -235,7 +235,7 @@ void lim_delete_sta_context(struct mac_context *mac_ctx,
ap_info.reject_ap_type = DRIVER_AVOID_TYPE; ap_info.reject_ap_type = DRIVER_AVOID_TYPE;
ap_info.reject_reason = REASON_STA_KICKOUT; ap_info.reject_reason = REASON_STA_KICKOUT;
ap_info.source = ADDED_BY_DRIVER; ap_info.source = ADDED_BY_DRIVER;
wlan_blm_add_bssid_to_reject_list(mac_ctx->pdev, wlan_dlm_add_bssid_to_reject_list(mac_ctx->pdev,
&ap_info); &ap_info);
/* only break for STA role (non TDLS) */ /* only break for STA role (non TDLS) */

View File

@@ -1017,7 +1017,7 @@ lim_process_assoc_rsp_frame(struct mac_context *mac_ctx, uint8_t *rx_pkt_info,
if (!assoc_rsp->rssi_assoc_rej.retry_delay) if (!assoc_rsp->rssi_assoc_rej.retry_delay)
ap_info.expected_rssi = assoc_rsp->rssi_assoc_rej.delta_rssi + ap_info.expected_rssi = assoc_rsp->rssi_assoc_rej.delta_rssi +
WMA_GET_RX_RSSI_NORMALIZED(rx_pkt_info) + WMA_GET_RX_RSSI_NORMALIZED(rx_pkt_info) +
wlan_blm_get_rssi_blacklist_threshold(mac_ctx->pdev); wlan_dlm_get_rssi_denylist_threshold(mac_ctx->pdev);
else else
ap_info.expected_rssi = assoc_rsp->rssi_assoc_rej.delta_rssi + ap_info.expected_rssi = assoc_rsp->rssi_assoc_rej.delta_rssi +
WMA_GET_RX_RSSI_NORMALIZED(rx_pkt_info); WMA_GET_RX_RSSI_NORMALIZED(rx_pkt_info);

View File

@@ -310,7 +310,7 @@ lim_process_disassoc_frame(struct mac_context *mac, uint8_t *pRxPacketInfo,
ap_info.retry_delay = 0; ap_info.retry_delay = 0;
ap_info.expected_rssi = frame_rssi + ap_info.expected_rssi = frame_rssi +
wlan_blm_get_rssi_blacklist_threshold(mac->pdev); wlan_dlm_get_rssi_denylist_threshold(mac->pdev);
qdf_mem_copy(ap_info.bssid.bytes, pHdr->sa, QDF_MAC_ADDR_SIZE); qdf_mem_copy(ap_info.bssid.bytes, pHdr->sa, QDF_MAC_ADDR_SIZE);
ap_info.reject_reason = REASON_ASSOC_REJECT_POOR_RSSI; ap_info.reject_reason = REASON_ASSOC_REJECT_POOR_RSSI;
ap_info.source = ADDED_BY_DRIVER; ap_info.source = ADDED_BY_DRIVER;

View File

@@ -8674,7 +8674,7 @@ lim_add_bssid_to_reject_list(struct wlan_objmgr_pdev *pdev,
ap_info.rssi_reject_params.received_time = entry->received_time; ap_info.rssi_reject_params.received_time = entry->received_time;
ap_info.rssi_reject_params.original_timeout = entry->original_timeout; ap_info.rssi_reject_params.original_timeout = entry->original_timeout;
/* Add this ap info to the rssi reject ap type in blacklist manager */ /* Add this ap info to the rssi reject ap type in blacklist manager */
wlan_blm_add_bssid_to_reject_list(pdev, &ap_info); wlan_dlm_add_bssid_to_reject_list(pdev, &ap_info);
} }
void lim_decrement_pending_mgmt_count(struct mac_context *mac_ctx) void lim_decrement_pending_mgmt_count(struct mac_context *mac_ctx)