Merge f86b658d0a
on remote branch
Change-Id: I21c5383fcd99d3616f91c19dd51920bb9753696c
This commit is contained in:
commit
f5a566817a
16
Kbuild
16
Kbuild
@ -3009,11 +3009,14 @@ HAL_OBJS += $(WLAN_COMMON_ROOT)/$(HAL_DIR)/wifi3.0/be/hal_be_generic_api.o
|
||||
|
||||
HAL_OBJS += $(WLAN_COMMON_ROOT)/$(HAL_DIR)/wifi3.0/be/hal_be_reo.o \
|
||||
|
||||
ifeq (y,$(findstring y,$(CONFIG_CNSS_KIWI) $(CONFIG_CNSS_KIWI_V2) $(CONFIG_CNSS_PEACH)))
|
||||
ifeq (y,$(findstring y,$(CONFIG_INCLUDE_HAL_PEACH)))
|
||||
HAL_INC += -I$(WLAN_COMMON_INC)/$(HAL_DIR)/wifi3.0/peach
|
||||
HAL_OBJS += $(WLAN_COMMON_ROOT)/$(HAL_DIR)/wifi3.0/peach/hal_peach.o
|
||||
ccflags-y += -DINCLUDE_HAL_PEACH
|
||||
else ifeq (y,$(findstring y,$(CONFIG_INCLUDE_HAL_KIWI)))
|
||||
HAL_INC += -I$(WLAN_COMMON_INC)/$(HAL_DIR)/wifi3.0/kiwi
|
||||
HAL_OBJS += $(WLAN_COMMON_ROOT)/$(HAL_DIR)/wifi3.0/kiwi/hal_kiwi.o
|
||||
else
|
||||
#error "Not Beryllium"
|
||||
ccflags-y += -DINCLUDE_HAL_KIWI
|
||||
endif
|
||||
|
||||
endif #### CONFIG_BERYLLIUM ####
|
||||
@ -4696,6 +4699,13 @@ CONFIG_WLAN_MAX_ML_BSS_LINKS ?= 1
|
||||
endif
|
||||
ccflags-y += -DWLAN_MAX_ML_BSS_LINKS=$(CONFIG_WLAN_MAX_ML_BSS_LINKS)
|
||||
|
||||
ifdef CONFIG_WLAN_FEATURE_EMLSR
|
||||
CONFIG_WLAN_EMLSR_ENABLE ?= 1
|
||||
else
|
||||
CONFIG_WLAN_EMLSR_ENABLE ?= 0
|
||||
endif
|
||||
ccflags-y += -DWLAN_EMLSR_ENABLE=$(CONFIG_WLAN_EMLSR_ENABLE)
|
||||
|
||||
#Maximum pending commands for a vdev is calculated in vdev create handler
|
||||
#by WLAN_SER_MAX_PENDING_CMDS/WLAN_SER_MAX_VDEVS. For SAP case, we will need
|
||||
#to accommodate 32 Pending commands to handle multiple STA sending
|
||||
|
24
Kconfig
24
Kconfig
@ -120,6 +120,18 @@ config CNSS_PEACH
|
||||
bool "Enable CNSS_PEACH"
|
||||
default n
|
||||
|
||||
config CNSS_PEACH_V2
|
||||
bool "Enable CNSS_PEACH_V2"
|
||||
default n
|
||||
|
||||
config INCLUDE_HAL_KIWI
|
||||
bool "Enable INCLUDE_HAL_KIWI"
|
||||
default n
|
||||
|
||||
config INCLUDE_HAL_PEACH
|
||||
bool "Enable INCLUDE_HAL_PEACH"
|
||||
default n
|
||||
|
||||
config CNSS_UTILS_MODULE
|
||||
bool "Enable CNSS_UTILS_MODULE"
|
||||
default n
|
||||
@ -2027,6 +2039,10 @@ config CNSS_ADRASTEA
|
||||
bool "Enable CNSS_ADRASTEA"
|
||||
default n
|
||||
|
||||
config WLAN_FEATURE_EMLSR
|
||||
bool "Enable EMLSR feature"
|
||||
default n
|
||||
|
||||
if CNSS_KIWI_V2
|
||||
config CFG_BMISS_OFFLOAD_MAX_VDEV
|
||||
int "Enable CFG_BMISS_OFFLOAD_MAX_VDEV"
|
||||
@ -2129,4 +2145,12 @@ config WLAN_FASTPATH_LEGACY
|
||||
config QCA_SUPPORT_TX_THROTTLE_LEGACY
|
||||
bool "Enable QCA_SUPPORT_TX_THROTTLE_LEGACY"
|
||||
default n
|
||||
|
||||
config PLD_SNOC_ICNSS_FLAG
|
||||
bool "Enable PLD_SNOC_ICNSS_FLAG"
|
||||
default n
|
||||
|
||||
config ICNSS2_HELIUM
|
||||
bool "Enable ICNSS2_HELIUM"
|
||||
default n
|
||||
endif # QCA_CLD_WLAN
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@ -216,6 +216,9 @@ QDF_STATUS if_mgr_disconnect_start(struct wlan_objmgr_vdev *vdev,
|
||||
|
||||
qdf_runtime_pm_prevent_suspend(&mlme_priv->disconnect_runtime_lock);
|
||||
|
||||
if (mlo_mgr_is_link_switch_in_progress(vdev))
|
||||
wlan_tdls_delete_all_peers(vdev);
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
@ -1315,10 +1315,12 @@ wlan_connectivity_mlo_reconfig_event(struct wlan_objmgr_vdev *vdev);
|
||||
/**
|
||||
* wlan_connectivity_mlo_setup_event() - Fill and send MLO setup data
|
||||
* @vdev: vdev pointer
|
||||
* @is_band_present: If Band is present(Associated link band is shared by FW)
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void wlan_connectivity_mlo_setup_event(struct wlan_objmgr_vdev *vdev);
|
||||
void wlan_connectivity_mlo_setup_event(struct wlan_objmgr_vdev *vdev,
|
||||
bool is_band_present);
|
||||
|
||||
/**
|
||||
* wlan_connectivity_t2lm_req_resp_event - API to send t2lm Req/resp
|
||||
@ -1382,7 +1384,8 @@ wlan_connectivity_mlo_reconfig_event(struct wlan_objmgr_vdev *vdev)
|
||||
}
|
||||
|
||||
static inline void
|
||||
wlan_connectivity_mlo_setup_event(struct wlan_objmgr_vdev *vdev)
|
||||
wlan_connectivity_mlo_setup_event(struct wlan_objmgr_vdev *vdev,
|
||||
bool is_band_present)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -596,9 +596,6 @@ wlan_populate_roam_mld_log_param(struct wlan_objmgr_vdev *vdev,
|
||||
struct wlan_objmgr_pdev *pdev;
|
||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||
|
||||
if (!mlo_is_mld_sta(vdev))
|
||||
return status;
|
||||
|
||||
pdev = wlan_vdev_get_pdev(vdev);
|
||||
if (!pdev)
|
||||
return QDF_STATUS_E_INVAL;
|
||||
@ -636,7 +633,8 @@ wlan_convert_freq_to_diag_band(uint16_t ch_freq)
|
||||
#define REJECTED_LINK_STATUS 1
|
||||
|
||||
void
|
||||
wlan_connectivity_mlo_setup_event(struct wlan_objmgr_vdev *vdev)
|
||||
wlan_connectivity_mlo_setup_event(struct wlan_objmgr_vdev *vdev,
|
||||
bool is_band_present)
|
||||
{
|
||||
uint i = 0;
|
||||
struct mlo_link_switch_context *link_ctx = NULL;
|
||||
@ -646,7 +644,16 @@ wlan_connectivity_mlo_setup_event(struct wlan_objmgr_vdev *vdev)
|
||||
WLAN_HOST_DIAG_EVENT_DEF(wlan_diag_event,
|
||||
struct wlan_diag_mlo_setup);
|
||||
|
||||
if (!mlo_is_mld_sta(vdev))
|
||||
/*
|
||||
* MLO setup event need to be logged in the following cases:
|
||||
*
|
||||
* 1. When connection request is initiated and the ML
|
||||
* candidate is selected.
|
||||
* 2. When roamed successfully to ML AP
|
||||
*
|
||||
*/
|
||||
if ((wlan_cm_is_vdev_connecting(vdev) && !mlo_is_mld_sta(vdev)) ||
|
||||
(wlan_cm_is_vdev_active(vdev) && !is_band_present))
|
||||
return;
|
||||
|
||||
qdf_mem_zero(&wlan_diag_event, sizeof(struct wlan_diag_mlo_setup));
|
||||
@ -1015,7 +1022,7 @@ wlan_connectivity_mgmt_event(struct wlan_objmgr_psoc *psoc,
|
||||
WLAN_HOST_DIAG_EVENT_REPORT(&wlan_diag_event, EVENT_WLAN_MGMT);
|
||||
|
||||
if (tag == WLAN_ASSOC_RSP || tag == WLAN_REASSOC_RSP)
|
||||
wlan_connectivity_mlo_setup_event(vdev);
|
||||
wlan_connectivity_mlo_setup_event(vdev, false);
|
||||
|
||||
out:
|
||||
wlan_objmgr_vdev_release_ref(vdev, WLAN_MLME_OBJMGR_ID);
|
||||
|
@ -1807,6 +1807,11 @@ static bool dp_fisa_aggregation_should_stop(
|
||||
uint32_t l3_hdr_offset, l4_hdr_offset, l2_l3_hdr_len;
|
||||
uint32_t cumulative_ip_len_delta = hal_cumulative_ip_len -
|
||||
fisa_flow->hal_cumultive_ip_len;
|
||||
uint32_t ip_csum_err = 0;
|
||||
uint32_t tcp_udp_csum_err = 0;
|
||||
|
||||
hal_rx_tlv_csum_err_get(fisa_flow->dp_ctx->hal_soc, rx_tlv_hdr,
|
||||
&ip_csum_err, &tcp_udp_csum_err);
|
||||
|
||||
hal_rx_get_l3_l4_offsets(fisa_flow->dp_ctx->hal_soc, rx_tlv_hdr,
|
||||
&l3_hdr_offset, &l4_hdr_offset);
|
||||
@ -1814,6 +1819,12 @@ static bool dp_fisa_aggregation_should_stop(
|
||||
l2_l3_hdr_len = l3_hdr_offset + l4_hdr_offset;
|
||||
|
||||
/**
|
||||
* If l3/l4 checksum validation failed for MSDU, then data
|
||||
* is not trust worthy to build aggregated skb, so do not
|
||||
* allow for aggregation. And also in aggregated case it
|
||||
* is job of driver to make sure checksum is valid before
|
||||
* computing partial checksum for final aggregated skb.
|
||||
*
|
||||
* kernel network panic if UDP data length < 12 bytes get aggregated,
|
||||
* no solid conclusion currently, as a SW WAR, only allow UDP
|
||||
* aggregation if UDP data length >= 16 bytes.
|
||||
@ -1826,6 +1837,7 @@ static bool dp_fisa_aggregation_should_stop(
|
||||
* otherwise, current fisa flow aggregation should be stopped.
|
||||
*/
|
||||
if (fisa_flow->do_not_aggregate ||
|
||||
(ip_csum_err || tcp_udp_csum_err) ||
|
||||
msdu_len < (l2_l3_hdr_len + FISA_MIN_L4_AND_DATA_LEN) ||
|
||||
hal_cumulative_ip_len <= fisa_flow->hal_cumultive_ip_len ||
|
||||
cumulative_ip_len_delta > FISA_MAX_SINGLE_CUMULATIVE_IP_LEN ||
|
||||
|
@ -2028,7 +2028,6 @@ void wlan_dp_link_cdp_vdev_delete_notification(void *context)
|
||||
{
|
||||
struct wlan_dp_link *dp_link = (struct wlan_dp_link *)context;
|
||||
struct wlan_dp_link *tmp_dp_link;
|
||||
struct wlan_dp_intf *dp_intf = NULL;
|
||||
struct wlan_dp_psoc_context *dp_ctx = NULL;
|
||||
uint8_t found = 0;
|
||||
|
||||
@ -2039,8 +2038,7 @@ void wlan_dp_link_cdp_vdev_delete_notification(void *context)
|
||||
}
|
||||
|
||||
dp_info("dp_link %pK id %d", dp_link, dp_link->link_id);
|
||||
dp_intf = dp_link->dp_intf;
|
||||
dp_ctx = dp_intf->dp_ctx;
|
||||
dp_ctx = dp_get_context();
|
||||
|
||||
qdf_spin_lock_bh(&dp_ctx->dp_link_del_lock);
|
||||
|
||||
@ -2220,8 +2218,13 @@ err_soc_detach:
|
||||
|
||||
void wlan_dp_txrx_soc_detach(ol_txrx_soc_handle soc)
|
||||
{
|
||||
struct wlan_dp_psoc_context *dp_ctx = dp_get_context();
|
||||
|
||||
cdp_soc_deinit(soc);
|
||||
cdp_soc_detach(soc);
|
||||
|
||||
if (dp_ctx)
|
||||
dp_ctx->cdp_soc = NULL;
|
||||
}
|
||||
|
||||
QDF_STATUS wlan_dp_txrx_attach_target(ol_txrx_soc_handle soc, uint8_t pdev_id)
|
||||
|
@ -932,19 +932,24 @@ void dp_rx_monitor_callback(ol_osif_vdev_handle context,
|
||||
/**
|
||||
* dp_is_rx_wake_lock_needed() - check if wake lock is needed
|
||||
* @nbuf: pointer to sk_buff
|
||||
* @is_arp_req: ARP request packet
|
||||
*
|
||||
* RX wake lock is needed for:
|
||||
* 1) Unicast data packet OR
|
||||
* 2) Local ARP data packet
|
||||
* 1) Local ARP data packet
|
||||
* 2) Unicast data packet
|
||||
*
|
||||
* Return: true if wake lock is needed or false otherwise.
|
||||
*/
|
||||
static bool dp_is_rx_wake_lock_needed(qdf_nbuf_t nbuf)
|
||||
static bool dp_is_rx_wake_lock_needed(qdf_nbuf_t nbuf, bool is_arp_req)
|
||||
{
|
||||
if ((!qdf_nbuf_pkt_type_is_mcast(nbuf) &&
|
||||
!qdf_nbuf_pkt_type_is_bcast(nbuf)) ||
|
||||
qdf_nbuf_is_arp_local(nbuf))
|
||||
/* Take wake lock for local ARP request packet */
|
||||
if (qdf_unlikely(is_arp_req)) {
|
||||
if (qdf_nbuf_is_arp_local(nbuf))
|
||||
return true;
|
||||
} else if (qdf_likely(!qdf_nbuf_pkt_type_is_mcast(nbuf) &&
|
||||
!qdf_nbuf_pkt_type_is_bcast(nbuf))) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
@ -1661,9 +1666,10 @@ QDF_STATUS dp_rx_packet_cbk(void *dp_link_context,
|
||||
struct qdf_mac_addr *mac_addr, *dest_mac_addr;
|
||||
bool wake_lock = false;
|
||||
bool track_arp = false;
|
||||
bool is_arp_req;
|
||||
enum qdf_proto_subtype subtype = QDF_PROTO_INVALID;
|
||||
bool is_eapol, send_over_nl;
|
||||
bool is_dhcp;
|
||||
bool is_dhcp, is_ip_mcast;
|
||||
struct dp_tx_rx_stats *stats;
|
||||
QDF_STATUS status;
|
||||
uint8_t pkt_type;
|
||||
@ -1687,8 +1693,10 @@ QDF_STATUS dp_rx_packet_cbk(void *dp_link_context,
|
||||
nbuf = next;
|
||||
next = qdf_nbuf_next(nbuf);
|
||||
qdf_nbuf_set_next(nbuf, NULL);
|
||||
is_arp_req = false;
|
||||
is_eapol = false;
|
||||
is_dhcp = false;
|
||||
is_ip_mcast = false;
|
||||
send_over_nl = false;
|
||||
|
||||
if (qdf_nbuf_is_ipv4_arp_pkt(nbuf)) {
|
||||
@ -1699,6 +1707,8 @@ QDF_STATUS dp_rx_packet_cbk(void *dp_link_context,
|
||||
rx_arp_rsp_count;
|
||||
dp_debug("ARP packet received");
|
||||
track_arp = true;
|
||||
} else if (qdf_nbuf_data_is_arp_req(nbuf)) {
|
||||
is_arp_req = true;
|
||||
}
|
||||
} else if (qdf_nbuf_is_ipv4_eapol_pkt(nbuf)) {
|
||||
subtype = qdf_nbuf_get_eapol_subtype(nbuf);
|
||||
@ -1726,6 +1736,9 @@ QDF_STATUS dp_rx_packet_cbk(void *dp_link_context,
|
||||
dhcp_ack_count;
|
||||
is_dhcp = true;
|
||||
}
|
||||
} else if (qdf_nbuf_data_is_ipv4_mcast_pkt(nbuf->data) ||
|
||||
qdf_nbuf_data_is_ipv6_mcast_pkt(nbuf->data)) {
|
||||
is_ip_mcast = true;
|
||||
}
|
||||
|
||||
wlan_dp_pkt_add_timestamp(dp_intf, QDF_PKT_RX_DRIVER_EXIT,
|
||||
@ -1803,8 +1816,8 @@ QDF_STATUS dp_rx_packet_cbk(void *dp_link_context,
|
||||
/* hold configurable wakelock for unicast traffic */
|
||||
if (!dp_is_current_high_throughput(dp_ctx) &&
|
||||
dp_ctx->dp_cfg.rx_wakelock_timeout &&
|
||||
dp_link->conn_info.is_authenticated)
|
||||
wake_lock = dp_is_rx_wake_lock_needed(nbuf);
|
||||
dp_link->conn_info.is_authenticated && !is_ip_mcast)
|
||||
wake_lock = dp_is_rx_wake_lock_needed(nbuf, is_arp_req);
|
||||
|
||||
if (wake_lock) {
|
||||
cds_host_diag_log_work(&dp_ctx->rx_wake_lock,
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2017 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@ -42,7 +42,7 @@
|
||||
struct pmo_mc_addr_list_params {
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
uint8_t vdev_id;
|
||||
uint8_t count;
|
||||
int count;
|
||||
struct qdf_mac_addr mc_addr[PMO_MAX_MC_ADDR_LIST];
|
||||
};
|
||||
|
||||
|
@ -40,6 +40,7 @@
|
||||
#include "nan_ucfg_api.h"
|
||||
#include "wlan_mlme_main.h"
|
||||
#include "wlan_policy_mgr_i.h"
|
||||
#include "wlan_mlo_mgr_link_switch.h"
|
||||
|
||||
static uint16_t tdls_get_connected_peer_count(struct tdls_soc_priv_obj *soc_obj)
|
||||
{
|
||||
@ -890,6 +891,12 @@ int tdls_validate_mgmt_request(struct tdls_action_frame_request *tdls_mgmt_req)
|
||||
return -EAGAIN;
|
||||
}
|
||||
|
||||
if (mlo_mgr_is_link_switch_in_progress(vdev)) {
|
||||
tdls_notice("vdev:%d Link Switch in progress. TDLS is not allowed",
|
||||
wlan_vdev_get_id(vdev));
|
||||
return -EAGAIN;
|
||||
}
|
||||
|
||||
/* other than teardown frame, mgmt frames are not sent if disabled */
|
||||
if (TDLS_TEARDOWN != tdls_validate->action_code) {
|
||||
if (!tdls_check_is_tdls_allowed(vdev)) {
|
||||
@ -897,6 +904,7 @@ int tdls_validate_mgmt_request(struct tdls_action_frame_request *tdls_mgmt_req)
|
||||
tdls_validate->action_code);
|
||||
return -EPERM;
|
||||
}
|
||||
|
||||
/* if tdls_mode is disabled, then decline the peer's request */
|
||||
if (TDLS_SUPPORT_DISABLED == tdls_soc->tdls_current_mode ||
|
||||
TDLS_SUPPORT_SUSPENDED == tdls_soc->tdls_current_mode) {
|
||||
@ -1033,6 +1041,12 @@ QDF_STATUS tdls_process_add_peer(struct tdls_add_peer_request *req)
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (mlo_mgr_is_link_switch_in_progress(vdev)) {
|
||||
tdls_err("Link Switch in progress, reject add sta for vdev: %d",
|
||||
wlan_vdev_get_id(vdev));
|
||||
goto error;
|
||||
}
|
||||
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
if (!psoc) {
|
||||
tdls_err("can't get psoc");
|
||||
@ -2075,6 +2089,13 @@ QDF_STATUS tdls_process_setup_peer(struct tdls_oper_request *req)
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (mlo_mgr_is_link_switch_in_progress(vdev)) {
|
||||
tdls_err("TDLS not allowed on vdev:%d, Link switch in progress",
|
||||
wlan_vdev_get_id(vdev));
|
||||
status = QDF_STATUS_E_INVAL;
|
||||
goto error;
|
||||
}
|
||||
|
||||
tdls_debug("vdev:%d Configure external TDLS peer " QDF_MAC_ADDR_FMT,
|
||||
wlan_vdev_get_id(vdev),
|
||||
QDF_MAC_ADDR_REF(req->peer_addr));
|
||||
|
@ -32,6 +32,7 @@
|
||||
#include "wlan_reg_services_api.h"
|
||||
#include "wlan_policy_mgr_api.h"
|
||||
#include "wlan_tdls_tgt_api.h"
|
||||
#include "wlan_mlo_mgr_link_switch.h"
|
||||
|
||||
bool tdls_is_vdev_authenticated(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
@ -494,6 +495,12 @@ tdls_implicit_send_discovery_request(struct tdls_vdev_priv_obj *tdls_vdev_obj)
|
||||
return;
|
||||
}
|
||||
|
||||
if (mlo_mgr_is_link_switch_in_progress(tdls_vdev_obj->vdev)) {
|
||||
tdls_notice("vdev:%d Link Switch in progress. TDLS discovery not allowed",
|
||||
wlan_vdev_get_id(tdls_vdev_obj->vdev));
|
||||
return;
|
||||
}
|
||||
|
||||
curr_peer = tdls_vdev_obj->curr_candidate;
|
||||
|
||||
if (!curr_peer) {
|
||||
|
@ -1651,8 +1651,8 @@ tdls_process_sta_disconnect(struct tdls_sta_notify_params *notify)
|
||||
if (notify->user_disconnect)
|
||||
return tdls_delete_all_tdls_peers(notify->vdev, tdls_soc_obj);
|
||||
|
||||
tdls_debug("Check and update TDLS state for vdev:%d",
|
||||
notify->session_id);
|
||||
tdls_debug("vdev:%d Disable TDLS peer_count:%d",
|
||||
notify->session_id, tdls_soc_obj->connected_peer_count);
|
||||
|
||||
/* Disassociation event */
|
||||
tdls_send_update_to_fw(tdls_vdev_obj, tdls_soc_obj, false,
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@ -141,6 +141,14 @@ struct tdls_set_state_info {
|
||||
uint8_t vdev_id;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct tdls_callbacks - vdev id state info
|
||||
* @delete_all_tdls_peers: Callback to lim to delete TDLS peers
|
||||
*/
|
||||
struct tdls_callbacks {
|
||||
QDF_STATUS (*delete_all_tdls_peers) (struct wlan_objmgr_vdev *vdev);
|
||||
};
|
||||
|
||||
/**
|
||||
* struct tdls_soc_priv_obj - tdls soc private context
|
||||
* @soc: objmgr psoc
|
||||
@ -198,6 +206,7 @@ struct tdls_set_state_info {
|
||||
* @timer_cnt: used for mlo tdls to monitor discovery response
|
||||
* @fw_tdls_wideband_capability: bool for tdls wideband fw capability
|
||||
* @is_user_tdls_enable: bool to check whether TDLS enable through userspace
|
||||
* @tdls_cb: TDLS callbacks to other modules
|
||||
*/
|
||||
struct tdls_soc_priv_obj {
|
||||
struct wlan_objmgr_psoc *soc;
|
||||
@ -258,6 +267,7 @@ struct tdls_soc_priv_obj {
|
||||
qdf_atomic_t timer_cnt;
|
||||
bool fw_tdls_wideband_capability;
|
||||
bool is_user_tdls_enable;
|
||||
struct tdls_callbacks tdls_cb;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include "wlan_objmgr_psoc_obj.h"
|
||||
#include "wlan_objmgr_pdev_obj.h"
|
||||
#include "wlan_objmgr_vdev_obj.h"
|
||||
#include "wlan_tdls_main.h"
|
||||
|
||||
#ifdef FEATURE_WLAN_TDLS
|
||||
#ifdef WLAN_FEATURE_11BE_MLO
|
||||
@ -54,6 +55,16 @@ void wlan_tdls_get_features_info(struct wlan_objmgr_psoc *psoc,
|
||||
struct wlan_tdls_features *tdls_feature_set);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* wlan_tdls_register_lim_callbacks() - Register callbacks for legacy LIM API
|
||||
* @psoc: Pointer to psoc object
|
||||
* @cbs: Pointer to callback struct
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void wlan_tdls_register_lim_callbacks(struct wlan_objmgr_psoc *psoc,
|
||||
struct tdls_callbacks *cbs);
|
||||
|
||||
/**
|
||||
* wlan_tdls_teardown_links() - notify TDLS module to teardown all TDLS links
|
||||
* @psoc: psoc object
|
||||
@ -215,8 +226,30 @@ void wlan_tdls_handle_p2p_client_connect(struct wlan_objmgr_psoc *psoc,
|
||||
void wlan_tdls_increment_discovery_attempts(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t vdev_id,
|
||||
uint8_t *peer_addr);
|
||||
/**
|
||||
* wlan_tdls_is_addba_request_allowed() - API to check if Add Block ack request
|
||||
* is allowed for TDLS peer in current state.
|
||||
* @vdev: Vdev object pointer
|
||||
* @mac_addr: Mac address of the peer
|
||||
*
|
||||
* Return: True if ADDBA frame can be allowed
|
||||
*/
|
||||
bool wlan_tdls_is_addba_request_allowed(struct wlan_objmgr_vdev *vdev,
|
||||
struct qdf_mac_addr *mac_addr);
|
||||
/*
|
||||
* wlan_tdls_delete_all_peers() - Delete all TDLS peers in lim
|
||||
* @vdev: Pointer to vdev object
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void wlan_tdls_delete_all_peers(struct wlan_objmgr_vdev *vdev);
|
||||
#else
|
||||
|
||||
static inline
|
||||
void wlan_tdls_register_lim_callbacks(struct wlan_objmgr_psoc *psoc,
|
||||
struct tdls_callbacks *cbs)
|
||||
{}
|
||||
|
||||
#ifdef FEATURE_SET
|
||||
static inline
|
||||
void wlan_tdls_get_features_info(struct wlan_objmgr_psoc *psoc,
|
||||
@ -295,5 +328,16 @@ void wlan_tdls_increment_discovery_attempts(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t vdev_id,
|
||||
uint8_t *peer_addr)
|
||||
{}
|
||||
|
||||
static inline
|
||||
bool wlan_tdls_is_addba_request_allowed(struct wlan_objmgr_vdev *vdev,
|
||||
struct qdf_mac_addr *mac_addr)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline
|
||||
void wlan_tdls_delete_all_peers(struct wlan_objmgr_vdev *vdev)
|
||||
{}
|
||||
#endif
|
||||
#endif
|
||||
|
@ -33,6 +33,21 @@
|
||||
#include "wlan_policy_mgr_api.h"
|
||||
#include "wlan_mlo_mgr_sta.h"
|
||||
|
||||
void wlan_tdls_register_lim_callbacks(struct wlan_objmgr_psoc *psoc,
|
||||
struct tdls_callbacks *cbs)
|
||||
{
|
||||
struct tdls_soc_priv_obj *soc_obj;
|
||||
|
||||
soc_obj = wlan_objmgr_psoc_get_comp_private_obj(psoc,
|
||||
WLAN_UMAC_COMP_TDLS);
|
||||
if (!soc_obj) {
|
||||
tdls_err("Failed to get tdls psoc component");
|
||||
return;
|
||||
}
|
||||
|
||||
soc_obj->tdls_cb.delete_all_tdls_peers = cbs->delete_all_tdls_peers;
|
||||
}
|
||||
|
||||
static QDF_STATUS tdls_teardown_flush_cb(struct scheduler_msg *msg)
|
||||
{
|
||||
struct tdls_link_teardown *tdls_teardown = msg->bodyptr;
|
||||
@ -552,3 +567,55 @@ void wlan_tdls_increment_discovery_attempts(struct wlan_objmgr_psoc *psoc,
|
||||
|
||||
wlan_objmgr_vdev_release_ref(vdev, WLAN_TDLS_NB_ID);
|
||||
}
|
||||
|
||||
static
|
||||
struct tdls_peer *wlan_tdls_find_peer(struct tdls_vdev_priv_obj *vdev_obj,
|
||||
const uint8_t *macaddr)
|
||||
{
|
||||
return tdls_find_peer(vdev_obj, macaddr);
|
||||
}
|
||||
|
||||
bool wlan_tdls_is_addba_request_allowed(struct wlan_objmgr_vdev *vdev,
|
||||
struct qdf_mac_addr *mac_addr)
|
||||
{
|
||||
struct tdls_vdev_priv_obj *vdev_obj;
|
||||
struct tdls_peer *curr_peer;
|
||||
|
||||
vdev_obj = wlan_vdev_get_tdls_vdev_obj(vdev);
|
||||
if (!vdev_obj) {
|
||||
tdls_err("vdev_obj: %pK is null", vdev_obj);
|
||||
return false;
|
||||
}
|
||||
|
||||
curr_peer = wlan_tdls_find_peer(vdev_obj, mac_addr->bytes);
|
||||
if (!curr_peer) {
|
||||
tdls_err("tdls peer is null");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (curr_peer->valid_entry &&
|
||||
curr_peer->link_status == TDLS_LINK_CONNECTED)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void wlan_tdls_delete_all_peers(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
struct tdls_soc_priv_obj *soc_obj;
|
||||
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
if (!psoc)
|
||||
return;
|
||||
|
||||
soc_obj = wlan_objmgr_psoc_get_comp_private_obj(psoc,
|
||||
WLAN_UMAC_COMP_TDLS);
|
||||
if (!soc_obj) {
|
||||
tdls_err("Failed to get tdls psoc component");
|
||||
return;
|
||||
}
|
||||
|
||||
if (soc_obj->tdls_cb.delete_all_tdls_peers)
|
||||
soc_obj->tdls_cb.delete_all_tdls_peers(vdev);
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2017-2020 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@ -144,8 +144,8 @@ QDF_STATUS tgt_tdls_register_ev_handler(struct wlan_objmgr_psoc *psoc)
|
||||
tdls_ops = wlan_psoc_get_tdls_txops(psoc);
|
||||
if (tdls_ops && tdls_ops->tdls_reg_ev_handler)
|
||||
return tdls_ops->tdls_reg_ev_handler(psoc, NULL);
|
||||
else
|
||||
return QDF_STATUS_SUCCESS;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS tgt_tdls_unregister_ev_handler(struct wlan_objmgr_psoc *psoc)
|
||||
|
@ -7260,6 +7260,7 @@ cm_roam_mgmt_frame_event(struct wlan_objmgr_vdev *vdev,
|
||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||
uint8_t i;
|
||||
uint16_t diag_event;
|
||||
bool is_mlo = false;
|
||||
|
||||
WLAN_HOST_DIAG_EVENT_DEF(wlan_diag_event, struct wlan_diag_packet_info);
|
||||
|
||||
@ -7313,16 +7314,29 @@ cm_roam_mgmt_frame_event(struct wlan_objmgr_vdev *vdev,
|
||||
!frame_data->is_rsp);
|
||||
diag_event = EVENT_WLAN_MGMT;
|
||||
|
||||
status = wlan_populate_roam_mld_log_param(vdev,
|
||||
&wlan_diag_event,
|
||||
wlan_diag_event.subtype);
|
||||
if (QDF_IS_STATUS_ERROR(status)) {
|
||||
mlme_err("vdev: %d Unable to populate MLO parameter",
|
||||
wlan_vdev_get_id(vdev));
|
||||
return status;
|
||||
wlan_diag_event.supported_links = frame_data->band;
|
||||
|
||||
/*
|
||||
* Frame_data->band will be '0' for legacy connection and
|
||||
* And will be band bit map for MLO connection where band bitmap
|
||||
* as follows:
|
||||
* BIT 0: 2 GHz link
|
||||
* BIT 1: 5 GHz link
|
||||
* BIT 2: 6 GHz link
|
||||
*/
|
||||
if (frame_data->band) {
|
||||
is_mlo = true;
|
||||
status =
|
||||
wlan_populate_roam_mld_log_param(vdev,
|
||||
&wlan_diag_event,
|
||||
wlan_diag_event.subtype);
|
||||
if (QDF_IS_STATUS_ERROR(status)) {
|
||||
mlme_err("vdev: %d Unable to populate MLO parameter",
|
||||
wlan_vdev_get_id(vdev));
|
||||
return status;
|
||||
}
|
||||
}
|
||||
|
||||
wlan_diag_event.supported_links = frame_data->band;
|
||||
}
|
||||
|
||||
if (wlan_diag_event.subtype > WLAN_CONN_DIAG_REASSOC_RESP_EVENT &&
|
||||
@ -7336,7 +7350,7 @@ cm_roam_mgmt_frame_event(struct wlan_objmgr_vdev *vdev,
|
||||
WLAN_HOST_DIAG_EVENT_REPORT(&wlan_diag_event, diag_event);
|
||||
if (wlan_diag_event.subtype == WLAN_CONN_DIAG_REASSOC_RESP_EVENT ||
|
||||
wlan_diag_event.subtype == WLAN_CONN_DIAG_ASSOC_RESP_EVENT) {
|
||||
wlan_connectivity_mlo_setup_event(vdev);
|
||||
wlan_connectivity_mlo_setup_event(vdev, is_mlo);
|
||||
|
||||
/*
|
||||
* Send STA info event when roaming is successful
|
||||
|
@ -90,11 +90,21 @@ QDF_STATUS cm_disconnect_start_ind(struct wlan_objmgr_vdev *vdev,
|
||||
user_disconnect =
|
||||
(req->source == CM_OSIF_DISCONNECT ||
|
||||
req->source == CM_MLO_LINK_SWITCH_DISCONNECT) ? true : false;
|
||||
if (user_disconnect) {
|
||||
if (user_disconnect)
|
||||
wlan_p2p_cleanup_roc_by_vdev(vdev, false);
|
||||
|
||||
/*
|
||||
* For link switch disconnect avoid posting msg to PE to
|
||||
* delete all the TDLS peers since pe_session can get deleted before
|
||||
* TDLS msg is processed, causing the TDLS peers to be not deleted.
|
||||
* The AID bitmap also gets cleared during pe_session deletion,
|
||||
* so during subsequent disconnects also to not deleted the TDLS peers
|
||||
* TODO: Move all TDLS peers deletion logic from IF_MGR to be symmetric
|
||||
*/
|
||||
if (req->source == CM_OSIF_DISCONNECT)
|
||||
wlan_tdls_notify_sta_disconnect(req->vdev_id, false,
|
||||
user_disconnect, vdev);
|
||||
}
|
||||
true, vdev);
|
||||
|
||||
cm_abort_connect_request_timers(vdev);
|
||||
|
||||
if (req->source != CM_MLO_ROAM_INTERNAL_DISCONNECT &&
|
||||
|
@ -2414,11 +2414,117 @@ QDF_STATUS wlan_cm_set_btm_config(struct wlan_objmgr_psoc *psoc,
|
||||
&src_config);
|
||||
}
|
||||
|
||||
static QDF_STATUS
|
||||
cm_roam_refine_channels(struct wlan_objmgr_vdev *vdev,
|
||||
struct rso_config *rso_cfg,
|
||||
struct wlan_roam_scan_channel_list *chan_info,
|
||||
struct rso_chan_info *cached_chan_info)
|
||||
{
|
||||
struct rso_chan_info temp_chan_info = {0}, computed_chan_info = {0};
|
||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||
uint32_t i;
|
||||
|
||||
temp_chan_info.num_chan = cached_chan_info->num_chan;
|
||||
computed_chan_info.num_chan = cached_chan_info->num_chan;
|
||||
temp_chan_info.freq_list = qdf_mem_malloc(
|
||||
temp_chan_info.num_chan * sizeof(qdf_freq_t));
|
||||
if (!temp_chan_info.freq_list)
|
||||
goto done;
|
||||
computed_chan_info.freq_list = qdf_mem_malloc(
|
||||
temp_chan_info.num_chan * sizeof(qdf_freq_t));
|
||||
if (!computed_chan_info.freq_list)
|
||||
goto done;
|
||||
for (i = 0; i < temp_chan_info.num_chan; i++) {
|
||||
temp_chan_info.freq_list[i] =
|
||||
cached_chan_info->freq_list[i];
|
||||
computed_chan_info.freq_list[i] =
|
||||
cached_chan_info->freq_list[i];
|
||||
}
|
||||
status = cm_update_roam_scan_channel_list(wlan_vdev_get_psoc(vdev),
|
||||
vdev, rso_cfg,
|
||||
wlan_vdev_get_id(vdev),
|
||||
&computed_chan_info,
|
||||
temp_chan_info.freq_list,
|
||||
temp_chan_info.num_chan,
|
||||
false);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
goto done;
|
||||
chan_info->chan_count = computed_chan_info.num_chan;
|
||||
for (i = 0; i < chan_info->chan_count; i++)
|
||||
chan_info->chan_freq_list[i] = computed_chan_info.freq_list[i];
|
||||
|
||||
done:
|
||||
qdf_mem_free(temp_chan_info.freq_list);
|
||||
qdf_mem_free(computed_chan_info.freq_list);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
QDF_STATUS wlan_cm_set_roam_band_update(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t vdev_id)
|
||||
{
|
||||
return cm_roam_update_cfg(psoc, vdev_id,
|
||||
REASON_ROAM_CONTROL_CONFIG_ENABLED);
|
||||
struct wlan_objmgr_vdev *vdev;
|
||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||
struct rso_config *rso_cfg;
|
||||
struct rso_cfg_params *dst_cfg;
|
||||
struct wlan_mlme_psoc_ext_obj *mlme_obj;
|
||||
struct wlan_roam_scan_channel_list chan_info = {0};
|
||||
|
||||
mlme_obj = mlme_get_psoc_ext_obj(psoc);
|
||||
if (!mlme_obj)
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
if (!mlme_obj->cfg.lfr.roam_scan_offload_enabled)
|
||||
return QDF_STATUS_E_INVAL;
|
||||
|
||||
vdev = wlan_objmgr_get_vdev_by_id_from_psoc(psoc, vdev_id,
|
||||
WLAN_MLME_NB_ID);
|
||||
if (!vdev) {
|
||||
mlme_err("vdev object is NULL");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
rso_cfg = wlan_cm_get_rso_config(vdev);
|
||||
if (!rso_cfg) {
|
||||
status = QDF_STATUS_E_FAILURE;
|
||||
goto done;
|
||||
}
|
||||
dst_cfg = &rso_cfg->cfg_param;
|
||||
|
||||
chan_info.vdev_id = vdev_id;
|
||||
if (dst_cfg->specific_chan_info.num_chan) {
|
||||
status = cm_roam_refine_channels(vdev, rso_cfg,
|
||||
&chan_info,
|
||||
&dst_cfg->specific_chan_info);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
goto done;
|
||||
chan_info.chan_cache_type = CHANNEL_LIST_STATIC;
|
||||
} else if (dst_cfg->pref_chan_info.num_chan) {
|
||||
status = cm_roam_refine_channels(vdev, rso_cfg,
|
||||
&chan_info,
|
||||
&dst_cfg->pref_chan_info);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
goto done;
|
||||
chan_info.chan_cache_type = CHANNEL_LIST_DYNAMIC;
|
||||
} else {
|
||||
goto done;
|
||||
}
|
||||
|
||||
status = cm_roam_acquire_lock(vdev);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
goto done;
|
||||
if (!MLME_IS_ROAM_STATE_RSO_ENABLED(psoc, vdev_id)) {
|
||||
mlme_debug("CHAN update received while ROAM RSO not started");
|
||||
cm_roam_release_lock(vdev);
|
||||
status = QDF_STATUS_E_INVAL;
|
||||
goto done;
|
||||
}
|
||||
wlan_cm_tgt_send_roam_freqs(psoc, vdev_id, &chan_info);
|
||||
cm_roam_release_lock(vdev);
|
||||
|
||||
done:
|
||||
wlan_objmgr_vdev_release_ref(vdev, WLAN_MLME_NB_ID);
|
||||
return status;
|
||||
}
|
||||
|
||||
uint32_t wlan_cm_get_roam_scan_scheme_bitmap(struct wlan_objmgr_psoc *psoc,
|
||||
@ -3226,7 +3332,8 @@ static void cm_roam_stats_process_roam_msg_info(struct wlan_objmgr_psoc *psoc,
|
||||
char time[TIME_STRING_LEN];
|
||||
static const char msg_id1_str[] = "Roam RSSI TH Reset";
|
||||
|
||||
if (data->msg_id == WMI_ROAM_MSG_RSSI_RECOVERED) {
|
||||
if (data->msg_id == WMI_ROAM_MSG_RSSI_RECOVERED ||
|
||||
data->msg_id == WMI_ROAM_MSG_CONNECTED_IN_POOR_RSSI) {
|
||||
mlme_get_converted_timestamp(data->timestamp, time);
|
||||
mlme_nofl_info("%s [ROAM MSG INFO]: VDEV[%d] %s, Current rssi: %d dbm, next_rssi_threshold: %d dbm",
|
||||
time, vdev_id, msg_id1_str, data->msg_param1,
|
||||
|
@ -1540,6 +1540,18 @@
|
||||
#define QCA_WIFI_PEACH (1)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_CNSS_PEACH_V2
|
||||
#define QCA_WIFI_PEACH_V2 (1)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_INCLUDE_HAL_KIWI
|
||||
#define INCLUDE_HAL_KIWI (1)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_INCLUDE_HAL_PEACH
|
||||
#define INCLUDE_HAL_PEACH (1)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_QCA_WIFI_QCA8074
|
||||
#define QCA_WIFI_QCA8074 (1)
|
||||
#endif
|
||||
@ -2928,6 +2940,20 @@
|
||||
#define WLAN_MAX_ML_BSS_LINKS CONFIG_WLAN_MAX_ML_BSS_LINKS
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_WLAN_FEATURE_11BE_MLO) && defined(CONFIG_WLAN_FEATURE_EMLSR)
|
||||
#ifndef CONFIG_WLAN_EMLSR_ENABLE
|
||||
#define CONFIG_WLAN_EMLSR_ENABLE (1)
|
||||
#endif
|
||||
#else
|
||||
#ifndef CONFIG_WLAN_EMLSR_ENABLE
|
||||
#define CONFIG_WLAN_EMLSR_ENABLE (0)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_WLAN_EMLSR_ENABLE
|
||||
#define WLAN_EMLSR_ENABLE CONFIG_WLAN_EMLSR_ENABLE
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_WALT_GET_CPU_TAKEN_SUPPORT
|
||||
#define WALT_GET_CPU_TAKEN_SUPPORT (1)
|
||||
#endif
|
||||
|
@ -1,4 +1,5 @@
|
||||
CONFIG_CNSS_KIWI := y
|
||||
CONFIG_INCLUDE_HAL_KIWI := y
|
||||
|
||||
include $(WLAN_ROOT)/configs/default_defconfig
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
CONFIG_CNSS_KIWI := y
|
||||
CONFIG_CNSS_KIWI_V2 := y
|
||||
CONFIG_INCLUDE_HAL_KIWI := y
|
||||
|
||||
ifeq ($(CONFIG_ARCH_SDXPINN), y)
|
||||
CONFIG_MOBILE_ROUTER := y
|
||||
|
@ -1,6 +1,7 @@
|
||||
CONFIG_CNSS_KIWI := y
|
||||
CONFIG_CNSS_KIWI_V2 := y
|
||||
CONFIG_CNSS_MANGO := y
|
||||
CONFIG_INCLUDE_HAL_KIWI := y
|
||||
|
||||
include $(WLAN_ROOT)/configs/default_defconfig
|
||||
|
||||
|
@ -17,6 +17,7 @@ CONFIG_CHIP_VERSION=2
|
||||
CONFIG_CNSS_GENL_MODULE=y
|
||||
CONFIG_CNSS_KIWI=y
|
||||
CONFIG_CNSS_KIWI_V2=y
|
||||
CONFIG_INCLUDE_HAL_KIWI=y
|
||||
CONFIG_CNSS_UTILS_MODULE=y
|
||||
CONFIG_CNSS_UTILS=y
|
||||
CONFIG_CONNECTIVITY_PKTLOG=y
|
||||
|
@ -128,6 +128,8 @@ CONFIG_WLAN_LOG_ENTER=y
|
||||
CONFIG_WLAN_LOG_EXIT=y
|
||||
CONFIG_ATH_PERF_PWR_OFFLOAD=y
|
||||
CONFIG_HIF_SNOC=y
|
||||
CONFIG_PLD_SNOC_ICNSS_FLAG=y
|
||||
CONFIG_ICNSS2_HELIUM=y
|
||||
CONFIG_QCOM_ESE=y
|
||||
CONFIG_WLAN_OPEN_P2P_INTERFACE=y
|
||||
CONFIG_WLAN_ENABLE_SOCIAL_CHANNELS_5G_ONLY=y
|
||||
|
@ -1,6 +1,7 @@
|
||||
CONFIG_CNSS_PEACH := y
|
||||
CONFIG_CNSS_KIWI := y
|
||||
CONFIG_CNSS_KIWI_V2 := y
|
||||
CONFIG_INCLUDE_HAL_PEACH := y
|
||||
|
||||
#Enable 11BE EHT
|
||||
CONFIG_WLAN_FEATURE_11BE := y
|
||||
|
34
configs/pineapple_consolidate_peach-v2_defconfig
Normal file
34
configs/pineapple_consolidate_peach-v2_defconfig
Normal file
@ -0,0 +1,34 @@
|
||||
CONFIG_ALLOW_PKT_DROPPING=y
|
||||
CONFIG_ATH_DIAG_EXT_DIRECT=y
|
||||
CONFIG_DESC_TIMESTAMP_DEBUG_INFO=y
|
||||
CONFIG_DP_RX_REFILL_CPU_PERF_AFFINE_MASK=y
|
||||
CONFIG_DP_TX_COMP_RING_DESC_SANITY_CHECK=y
|
||||
CONFIG_DP_TX_HW_DESC_HISTORY=y
|
||||
CONFIG_DSC_DEBUG=y
|
||||
CONFIG_DSC_TEST=y
|
||||
CONFIG_ENABLE_QDF_PTR_HASH_DEBUG=y
|
||||
CONFIG_FEATURE_HIF_LATENCY_PROFILE_ENABLE=y
|
||||
CONFIG_FEATURE_UNIT_TEST_SUSPEND=y
|
||||
CONFIG_HAL_DEBUG=y
|
||||
CONFIG_HIF_CE_DEBUG_DATA_BUF=y
|
||||
CONFIG_HIF_CPU_PERF_AFFINE_MASK=y
|
||||
CONFIG_LEAK_DETECTION=y
|
||||
CONFIG_MAX_LOGS_PER_SEC=500
|
||||
CONFIG_ENABLE_MAX_LOGS_PER_SEC=y
|
||||
CONFIG_QDF_NBUF_HISTORY_SIZE=16384
|
||||
CONFIG_REGISTER_OP_DEBUG=y
|
||||
CONFIG_REO_QDESC_HISTORY=y
|
||||
CONFIG_RX_DESC_DEBUG_CHECK=y
|
||||
CONFIG_SCHED_HISTORY_SIZE=256
|
||||
CONFIG_ENABLE_SCHED_HISTORY_SIZE=y
|
||||
CONFIG_TALLOC_DEBUG=y
|
||||
CONFIG_UNIT_TEST=y
|
||||
CONFIG_WLAN_FEATURE_DP_CFG_EVENT_HISTORY=y
|
||||
CONFIG_WLAN_FEATURE_DP_MON_STATUS_RING_HISTORY=y
|
||||
CONFIG_WLAN_FEATURE_DP_RX_RING_HISTORY=y
|
||||
CONFIG_WLAN_FEATURE_DP_TX_DESC_HISTORY=y
|
||||
CONFIG_WLAN_RECORD_RX_PADDR=y
|
||||
CONFIG_QDF_TEST=y
|
||||
CONFIG_DYNAMIC_DEBUG=y
|
||||
CONFIG_FEATURE_WLM_STATS=y
|
||||
CONFIG_WLAN_TRACE_HIDE_MAC_ADDRESS_DISABLE=y
|
@ -17,6 +17,7 @@ CONFIG_CHIP_VERSION=2
|
||||
CONFIG_CNSS_GENL_MODULE=y
|
||||
CONFIG_CNSS_KIWI=y
|
||||
CONFIG_CNSS_KIWI_V2=y
|
||||
CONFIG_INCLUDE_HAL_KIWI=y
|
||||
CONFIG_CNSS_UTILS_MODULE=y
|
||||
CONFIG_CNSS_UTILS=y
|
||||
CONFIG_CONNECTIVITY_PKTLOG=y
|
||||
|
399
configs/pineapple_gki_peach-v2_defconfig
Normal file
399
configs/pineapple_gki_peach-v2_defconfig
Normal file
@ -0,0 +1,399 @@
|
||||
CONFIG_QCA_CLD_WLAN=y
|
||||
CONFIG_160MHZ_SUPPORT=y
|
||||
CONFIG_6G_SCAN_CHAN_SORT_ALGO=y
|
||||
CONFIG_ADAPTIVE_11R=y
|
||||
CONFIG_ANI_LEVEL_REQUEST=y
|
||||
CONFIG_AR900B=y
|
||||
CONFIG_ATH_11AC_TXCOMPACT=y
|
||||
CONFIG_ATH_BUS_PM=y
|
||||
CONFIG_ATH_PERF_PWR_OFFLOAD=y
|
||||
CONFIG_BAND_6GHZ=y
|
||||
CONFIG_BERYLLIUM=y
|
||||
CONFIG_CE_DISABLE_SRNG_TIMER_IRQ=y
|
||||
CONFIG_CFG_BMISS_OFFLOAD_MAX_VDEV=4
|
||||
CONFIG_CFG_MAX_STA_VDEVS=4
|
||||
CONFIG_CHECKSUM_OFFLOAD=y
|
||||
CONFIG_CHIP_VERSION=2
|
||||
CONFIG_CNSS_GENL_MODULE=y
|
||||
CONFIG_CNSS_KIWI=y
|
||||
CONFIG_CNSS_KIWI_V2=y
|
||||
CONFIG_CNSS_PEACH=y
|
||||
CONFIG_CNSS_PEACH_V2=y
|
||||
CONFIG_INCLUDE_HAL_PEACH=y
|
||||
CONFIG_CNSS_UTILS_MODULE=y
|
||||
CONFIG_CNSS_UTILS=y
|
||||
CONFIG_CONNECTIVITY_PKTLOG=y
|
||||
CONFIG_CONVERGED_P2P_ENABLE=y
|
||||
CONFIG_CP_STATS=y
|
||||
CONFIG_QCA_TARGET_IF_MLME=y
|
||||
CONFIG_DCS=y
|
||||
CONFIG_DDP_MON_RSSI_IN_DBM=y
|
||||
CONFIG_DEBUG_RX_RING_BUFFER=y
|
||||
CONFIG_DELIVERY_TO_STACK_STATUS_CHECK=y
|
||||
CONFIG_DESC_DUP_DETECT_DEBUG=y
|
||||
CONFIG_DEVICE_FORCE_WAKE_ENABLE=y
|
||||
CONFIG_DIRECT_BUF_RX_ENABLE=y
|
||||
CONFIG_DISABLE_CHANNEL_LIST=y
|
||||
CONFIG_DISABLE_EAPOL_INTRABSS_FWD=y
|
||||
CONFIG_DISABLE_STATUS_RING_TIMER_WAR=y
|
||||
CONFIG_DP_BE_WAR=y
|
||||
CONFIG_DP_CON_MON_MSI_ENABLED=y
|
||||
CONFIG_DP_CON_MON_MSI_SKIP_SET=y
|
||||
CONFIG_DP_FEATURE_HW_COOKIE_CONVERSION=y
|
||||
CONFIG_DP_HW_COOKIE_CONVERT_EXCEPTION=y
|
||||
CONFIG_DP_HW_TX_DELAY_STATS_ENABLE=y
|
||||
CONFIG_DP_INTR_POLL_BASED=y
|
||||
CONFIG_DP_LFR=y
|
||||
CONFIG_DP_MEM_PRE_ALLOC=y
|
||||
CONFIG_DP_PKT_ADD_TIMESTAMP=y
|
||||
CONFIG_DP_PKT_STATS_PER_LMAC=y
|
||||
CONFIG_DP_RX_BUFFER_POOL_ALLOC_THRES=5
|
||||
CONFIG_DP_RX_BUFFER_POOL_SIZE=128
|
||||
CONFIG_DP_RX_REFILL_BUFF_POOL_SIZE=2048
|
||||
CONFIG_DP_RX_REFILL_THRD_THRESHOLD=512
|
||||
CONFIG_DP_RX_DROP_RAW_FRM=y
|
||||
CONFIG_DP_RX_PKT_NO_PEER_DELIVER=y
|
||||
CONFIG_DP_RX_SPECIAL_FRAME_NEED=y
|
||||
CONFIG_DP_TRACE=y
|
||||
CONFIG_DP_TRAFFIC_END_INDICATION=y
|
||||
CONFIG_DP_TXRX_SOC_ATTACH=y
|
||||
CONFIG_DP_USE_REDUCED_PEER_ID_FIELD_WIDTH=y
|
||||
CONFIG_DP_WAR_INVALID_FIRST_MSDU_FLAG=y
|
||||
CONFIG_DUP_RX_DESC_WAR=y
|
||||
CONFIG_DYNAMIC_RX_AGGREGATION=y
|
||||
CONFIG_EMULATION_2_0=y
|
||||
CONFIG_ENABLE_HAL_REG_WR_HISTORY=y
|
||||
CONFIG_ENABLE_HAL_SOC_STATS=y
|
||||
CONFIG_ENABLE_MTRACE_LOG=y
|
||||
CONFIG_ENABLE_SMMU_S1_TRANSLATION=y
|
||||
CONFIG_FEATURE_ACTIVE_TOS=y
|
||||
CONFIG_FEATURE_ALIGN_STATS_FROM_DP=y
|
||||
CONFIG_FEATURE_BECN_STATS=y
|
||||
CONFIG_FEATURE_BSS_TRANSITION=y
|
||||
CONFIG_FEATURE_BUS_BANDWIDTH_MGR=y
|
||||
CONFIG_FEATURE_CLUB_LL_STATS_AND_GET_STATION=y
|
||||
CONFIG_FEATURE_COEX=y
|
||||
CONFIG_FEATURE_CONCURRENCY_MATRIX=y
|
||||
CONFIG_FEATURE_DELAYED_PEER_OBJ_DESTROY=y
|
||||
CONFIG_FEATURE_DENYLIST_MGR=y
|
||||
CONFIG_FEATURE_EPPING=y
|
||||
CONFIG_FEATURE_FORCE_WAKE=y
|
||||
CONFIG_FEATURE_FW_LOG_PARSING=y
|
||||
CONFIG_FEATURE_GPIO_CFG=y
|
||||
CONFIG_FEATURE_HAL_DELAYED_REG_WRITE=y
|
||||
CONFIG_FEATURE_HTC_CREDIT_HISTORY=y
|
||||
CONFIG_FEATURE_INTEROP_ISSUES_AP=y
|
||||
CONFIG_FEATURE_MEMDUMP_ENABLE=y
|
||||
CONFIG_FEATURE_MONITOR_MODE_SUPPORT=y
|
||||
CONFIG_FEATURE_MSCS=y
|
||||
CONFIG_FEATURE_NO_DBS_INTRABAND_MCC_SUPPORT=y
|
||||
CONFIG_FEATURE_OEM_DATA=y
|
||||
CONFIG_FEATURE_OTA_TEST=y
|
||||
CONFIG_FEATURE_P2P_LISTEN_OFFLOAD=y
|
||||
CONFIG_FEATURE_RADAR_HISTORY=y
|
||||
CONFIG_FEATURE_ROAM_DEBUG=y
|
||||
CONFIG_FEATURE_RSSI_MONITOR=y
|
||||
CONFIG_FEATURE_RX_LINKSPEED_ROAM_TRIGGER=y
|
||||
CONFIG_FEATURE_SAP_COND_CHAN_SWITCH=y
|
||||
CONFIG_FEATURE_SAR_LIMITS=y
|
||||
CONFIG_FEATURE_SET=y
|
||||
CONFIG_FEATURE_STATION_INFO=y
|
||||
CONFIG_FEATURE_STATS_EXT=y
|
||||
CONFIG_FEATURE_STATS_EXT_V2=y
|
||||
CONFIG_FEATURE_TSO=y
|
||||
CONFIG_FEATURE_TSO_STATS=y
|
||||
CONFIG_FEATURE_TX_POWER=y
|
||||
CONFIG_FEATURE_VDEV_OPS_WAKELOCK=y
|
||||
CONFIG_FEATURE_WLAN_LPHB=y
|
||||
CONFIG_FEATURE_WLAN_PRE_CAC=y
|
||||
CONFIG_FEATURE_WLAN_RA_FILTERING=y
|
||||
CONFIG_FEATURE_WLAN_SCAN_PNO=y
|
||||
CONFIG_FEATURE_WLAN_WAPI=y
|
||||
CONFIG_FIX_TXDMA_LIMITATION=y
|
||||
CONFIG_FOURTH_CONNECTION=y
|
||||
CONFIG_FW_THERMAL_THROTTLE=y
|
||||
CONFIG_GET_DRIVER_MODE=y
|
||||
CONFIG_GTK_OFFLOAD=y
|
||||
CONFIG_HAL_DISABLE_NON_BA_2K_JUMP_ERROR=y
|
||||
CONFIG_HANDLE_BC_EAP_TX_FRM=y
|
||||
CONFIG_HANDLE_RX_REROUTE_ERR=y
|
||||
CONFIG_HASTINGS_BT_WAR=y
|
||||
CONFIG_HDD_INIT_WITH_RTNL_LOCK=y
|
||||
CONFIG_HIF_PCI=y
|
||||
CONFIG_HIF_REG_WINDOW_SUPPORT=y
|
||||
CONFIG_HOST_OPCLASS=y
|
||||
CONFIG_HTT_PADDR64=y
|
||||
CONFIG_IPA_OFFLOAD=y
|
||||
CONFIG_IPA_OPT_WIFI_DP=y
|
||||
CONFIG_IPA_SET_RESET_TX_DB_PA=y
|
||||
CONFIG_KIWI_HEADERS_DEF=y
|
||||
CONFIG_LFR_SUBNET_DETECTION=y
|
||||
CONFIG_LINUX_QCMBR=y
|
||||
CONFIG_LITTLE_ENDIAN=y
|
||||
CONFIG_LL_DP_SUPPORT=y
|
||||
CONFIG_LTE_COEX=y
|
||||
CONFIG_MARK_ICMP_REQ_TO_FW=y
|
||||
CONFIG_MAX_ALLOC_PAGE_SIZE=y
|
||||
CONFIG_MCC_TO_SCC_SWITCH=y
|
||||
CONFIG_MON_ENABLE_DROP_FOR_MAC=y
|
||||
CONFIG_MON_ENABLE_DROP_FOR_NON_MON_PMAC=y
|
||||
CONFIG_MORE_TX_DESC=y
|
||||
CONFIG_MULTI_CLIENT_LL_SUPPORT=y
|
||||
CONFIG_NO_RX_PKT_HDR_TLV=y
|
||||
CONFIG_OBSS_PD=y
|
||||
CONFIG_OFDM_SCRAMBLER_SEED=y
|
||||
CONFIG_PCI_LINK_STATUS_SANITY=y
|
||||
CONFIG_PCIE_GEN_SWITCH=y
|
||||
CONFIG_PEER_PROTECTED_ACCESS=y
|
||||
CONFIG_PKTLOG_HAS_SPECIFIC_DATA=y
|
||||
CONFIG_PLD_PCIE_CNSS_FLAG=y
|
||||
CONFIG_PLD_PCIE_INIT_FLAG=y
|
||||
CONFIG_POWER_MANAGEMENT_OFFLOAD=y
|
||||
CONFIG_PTT_SOCK_SVC_ENABLE=y
|
||||
CONFIG_QCA_DFS_BW_PUNCTURE=y
|
||||
CONFIG_QCA_GET_TSF_VIA_REG=y
|
||||
CONFIG_QCA_MONITOR_PKT_SUPPORT=y
|
||||
CONFIG_QCA_SUPPORT_TX_MIN_RATES_FOR_SPECIAL_FRAMES=y
|
||||
CONFIG_QCA_SUPPORT_TX_THROTTLE=y
|
||||
CONFIG_QCA_WIFI_FTM=y
|
||||
CONFIG_QCA_WIFI_KIWI=y
|
||||
CONFIG_QCA_WIFI_MONITOR_MODE_NO_MSDU_START_TLV_SUPPORT=y
|
||||
CONFIG_QCA_WIFI_QCA8074=y
|
||||
CONFIG_QCA_WIFI_QCA8074_VP=y
|
||||
CONFIG_QCACLD_FEATURE_APF=y
|
||||
CONFIG_QCACLD_FEATURE_FW_STATE=y
|
||||
CONFIG_QCACLD_FEATURE_GAP_LL_PS_MODE=y
|
||||
CONFIG_QCACLD_FEATURE_GREEN_AP=y
|
||||
CONFIG_QCACLD_FEATURE_NAN=y
|
||||
CONFIG_QCACLD_RX_DESC_MULTI_PAGE_ALLOC=y
|
||||
CONFIG_QCACLD_WLAN_CONNECTIVITY_DIAG_EVENT=y
|
||||
CONFIG_QCACLD_WLAN_LFR3=y
|
||||
CONFIG_QCOM_ESE=y
|
||||
CONFIG_QCOM_LTE_COEX=y
|
||||
CONFIG_QCOM_TDLS=y
|
||||
CONFIG_QCOM_VOWIFI_11R=y
|
||||
CONFIG_QMI_SUPPORT=y
|
||||
CONFIG_REG_CLIENT=y
|
||||
CONFIG_REMOVE_PKT_LOG=y
|
||||
CONFIG_REO_DESC_DEFER_FREE=y
|
||||
CONFIG_RX_DEFRAG_DO_NOT_REINJECT=y
|
||||
CONFIG_RX_DESC_SANITY_WAR=y
|
||||
CONFIG_RX_FISA=y
|
||||
CONFIG_RX_HASH_DEBUG=y
|
||||
CONFIG_RX_OL=y
|
||||
CONFIG_RXDMA_ERR_PKT_DROP=y
|
||||
CONFIG_SAE_SINGLE_PMK=y
|
||||
CONFIG_SAP_AVOID_ACS_FREQ_LIST=y
|
||||
CONFIG_SAP_DHCP_FW_IND=y
|
||||
CONFIG_SAR_SAFETY_FEATURE=y
|
||||
CONFIG_SCALE_INCLUDES=y
|
||||
CONFIG_SERIALIZE_QUEUE_SETUP=y
|
||||
CONFIG_SHADOW_V3=y
|
||||
CONFIG_SMMU_S1_UNMAP=y
|
||||
CONFIG_SOFTAP_CHANNEL_RANGE=y
|
||||
CONFIG_SUPPORT_11AX=y
|
||||
CONFIG_SYSTEM_PM_CHECK=y
|
||||
CONFIG_TARGET_11D_SCAN=y
|
||||
CONFIG_TARGET_RAMDUMP_AFTER_KERNEL_PANIC=y
|
||||
CONFIG_THERMAL_STATS_SUPPORT=y
|
||||
CONFIG_TRACE_RECORD_FEATURE=y
|
||||
CONFIG_TSO_DEBUG_LOG_ENABLE=y
|
||||
CONFIG_TX_ADDR_INDEX_SEARCH=y
|
||||
CONFIG_TX_MULTI_TCL=y
|
||||
CONFIG_TX_MULTIQ_PER_AC=y
|
||||
CONFIG_TX_PER_PDEV_DESC_POOL=y
|
||||
CONFIG_TX_TID_OVERRIDE=y
|
||||
CONFIG_VERBOSE_DEBUG=y
|
||||
CONFIG_WAPI_BIG_ENDIAN=y
|
||||
CONFIG_WCNSS_MEM_PRE_ALLOC_MODULE=y
|
||||
CONFIG_WCNSS_MEM_PRE_ALLOC=y
|
||||
CONFIG_WDI_EVENT_ENABLE=y
|
||||
CONFIG_WDI3_IPA_OVER_GSI=y
|
||||
CONFIG_WIFI_MONITOR_SUPPORT=y
|
||||
CONFIG_WIFI_POS_CONVERGED=y
|
||||
CONFIG_WIFI_POS_PASN=y
|
||||
CONFIG_WINDOW_REG_PLD_LOCK_ENABLE=y
|
||||
CONFIG_WLAN_BCN_RECV_FEATURE=y
|
||||
CONFIG_WLAN_BMISS=y
|
||||
CONFIG_WLAN_CE_INTERRUPT_THRESHOLD_CONFIG=y
|
||||
CONFIG_WLAN_CFR_ENABLE=y
|
||||
CONFIG_WLAN_CLD_DEV_PM_QOS=y
|
||||
CONFIG_WLAN_CLD_PM_QOS=y
|
||||
CONFIG_WLAN_CONV_SPECTRAL_ENABLE=y
|
||||
CONFIG_WLAN_CUSTOM_DSCP_UP_MAP=y
|
||||
CONFIG_WLAN_DEBUG_CRASH_INJECT=y
|
||||
CONFIG_WLAN_DEBUG_LINK_VOTE=y
|
||||
CONFIG_WLAN_DEBUG_VERSION=y
|
||||
CONFIG_WLAN_DEBUGFS=y
|
||||
CONFIG_WLAN_DFS_MASTER_ENABLE=y
|
||||
CONFIG_WLAN_DFS_STATIC_MEM_ALLOC=y
|
||||
CONFIG_WLAN_DIAG_VERSION=y
|
||||
CONFIG_WLAN_DL_MODES=y
|
||||
CONFIG_WLAN_DP_DISABLE_TCL_CMD_CRED_SRNG=y
|
||||
CONFIG_WLAN_DP_DISABLE_TCL_STATUS_SRNG=y
|
||||
CONFIG_WLAN_DP_PENDING_MEM_FLUSH=y
|
||||
CONFIG_WLAN_DP_PER_RING_TYPE_CONFIG=y
|
||||
CONFIG_WLAN_DP_SRNG_USAGE_WM_TRACKING=y
|
||||
CONFIG_WLAN_DYNAMIC_CVM=y
|
||||
CONFIG_WLAN_ENABLE_SOCIAL_CHANNELS_5G_ONLY=y
|
||||
CONFIG_WLAN_ENH_CFR_ENABLE=y
|
||||
CONFIG_WLAN_FEATURE_11AX=y
|
||||
CONFIG_WLAN_FEATURE_11BE=y
|
||||
CONFIG_WLAN_FEATURE_11BE_MLO=y
|
||||
CONFIG_WLAN_HDD_MULTI_VDEV_SINGLE_NDEV=y
|
||||
CONFIG_WLAN_FEATURE_ACTION_OUI=y
|
||||
CONFIG_WLAN_FEATURE_BIG_DATA_STATS=y
|
||||
CONFIG_WLAN_FEATURE_CAL_FAILURE_TRIGGER=y
|
||||
CONFIG_WLAN_FEATURE_COAP=y
|
||||
CONFIG_WLAN_FEATURE_COEX_DBAM=y
|
||||
CONFIG_WLAN_FEATURE_DFS_OFFLOAD=y
|
||||
CONFIG_WLAN_FEATURE_DISA=y
|
||||
CONFIG_WLAN_FEATURE_DP_BUS_BANDWIDTH=y
|
||||
CONFIG_WLAN_FEATURE_DP_EVENT_HISTORY=y
|
||||
CONFIG_WLAN_FEATURE_DP_RX_THREADS=y
|
||||
CONFIG_WLAN_FEATURE_DYNAMIC_MAC_ADDR_UPDATE=y
|
||||
CONFIG_WLAN_FEATURE_ELNA=y
|
||||
CONFIG_WLAN_FEATURE_FILS=y
|
||||
CONFIG_WLAN_FEATURE_FIPS=y
|
||||
CONFIG_WLAN_FEATURE_GET_USABLE_CHAN_LIST=y
|
||||
CONFIG_WLAN_FEATURE_ICMP_OFFLOAD=y
|
||||
CONFIG_WLAN_FEATURE_IGMP_OFFLOAD=y
|
||||
CONFIG_WLAN_FEATURE_LINK_LAYER_STATS=y
|
||||
CONFIG_WLAN_FEATURE_LPSS=y
|
||||
CONFIG_WLAN_FEATURE_LRO_CTX_IN_CB=y
|
||||
CONFIG_WLAN_FEATURE_MBSSID=y
|
||||
CONFIG_WLAN_FEATURE_MCC_QUOTA=y
|
||||
CONFIG_WLAN_FEATURE_MDNS_OFFLOAD=y
|
||||
CONFIG_WLAN_FEATURE_MEDIUM_ASSESS=y
|
||||
CONFIG_WLAN_FEATURE_MIB_STATS=y
|
||||
CONFIG_WLAN_FEATURE_NEAR_FULL_IRQ=y
|
||||
CONFIG_WLAN_FEATURE_P2P_DEBUG=y
|
||||
CONFIG_WLAN_FEATURE_P2P_P2P_STA=y
|
||||
CONFIG_WLAN_FEATURE_PACKET_FILTERING=y
|
||||
CONFIG_WLAN_FEATURE_PEER_TXQ_FLUSH_CONF=y
|
||||
CONFIG_WLAN_FEATURE_ROAM_INFO_STATS=y
|
||||
CONFIG_WLAN_FEATURE_RX_BUFFER_POOL=y
|
||||
CONFIG_WLAN_FEATURE_RX_SOFTIRQ_TIME_LIMIT=y
|
||||
CONFIG_WLAN_FEATURE_SAE=y
|
||||
CONFIG_WLAN_FEATURE_SAP_ACS_OPTIMIZE=y
|
||||
CONFIG_WLAN_FEATURE_SARV1_TO_SARV2=y
|
||||
CONFIG_WLAN_FEATURE_SR=y
|
||||
CONFIG_WLAN_FEATURE_TWT=y
|
||||
CONFIG_WLAN_FEATURE_WMI_DIAG_OVER_CE7=y
|
||||
CONFIG_WLAN_FREQ_LIST=y
|
||||
CONFIG_WLAN_FW_OFFLOAD=y
|
||||
CONFIG_WLAN_GTX_BW_MASK=y
|
||||
CONFIG_WLAN_HANG_EVENT=y
|
||||
CONFIG_WLAN_LOG_DEBUG=y
|
||||
CONFIG_WLAN_LOG_ENTER=y
|
||||
CONFIG_WLAN_LOG_ERROR=y
|
||||
CONFIG_WLAN_LOG_EXIT=y
|
||||
CONFIG_WLAN_LOG_FATAL=y
|
||||
CONFIG_WLAN_LOG_INFO=y
|
||||
CONFIG_WLAN_LOG_WARN=y
|
||||
CONFIG_WLAN_LOGGING_SOCK_SVC=y
|
||||
CONFIG_WLAN_MWS_INFO_DEBUGFS=y
|
||||
CONFIG_WLAN_NAPI=y
|
||||
CONFIG_WLAN_NS_OFFLOAD=y
|
||||
CONFIG_WLAN_NUD_TRACKING=y
|
||||
CONFIG_WLAN_OFFLOAD_PACKETS=y
|
||||
CONFIG_WLAN_OPEN_P2P_INTERFACE=y
|
||||
CONFIG_WLAN_PDEV_VDEV_SEND_MULTI_PARAM=y
|
||||
CONFIG_WLAN_PMO_ENABLE=y
|
||||
CONFIG_WLAN_POLICY_MGR_ENABLE=y
|
||||
CONFIG_WLAN_POWER_DEBUG=y
|
||||
CONFIG_WLAN_REASSOC=y
|
||||
CONFIG_WLAN_RX_MON_PARSE_CMN_USER_INFO=y
|
||||
CONFIG_WLAN_SCAN_DISABLE=y
|
||||
CONFIG_WLAN_SKIP_BAR_UPDATE=y
|
||||
CONFIG_WLAN_SUPPORT_DATA_STALL=y
|
||||
CONFIG_WLAN_SYNC_TSF=y
|
||||
CONFIG_WLAN_SYNC_TSF_PLUS=y
|
||||
CONFIG_WLAN_SYNC_TSF_TIMER=y
|
||||
CONFIG_WLAN_SYSFS=y
|
||||
CONFIG_WLAN_SYSFS_CHANNEL=y
|
||||
CONFIG_WLAN_SYSFS_CONNECT_INFO=y
|
||||
CONFIG_WLAN_SYSFS_DCM=y
|
||||
CONFIG_WLAN_SYSFS_DFSNOL=y
|
||||
CONFIG_WLAN_SYSFS_DP_STATS=y
|
||||
CONFIG_WLAN_SYSFS_DP_TRACE=y
|
||||
CONFIG_WLAN_SYSFS_EHT_RATE=y
|
||||
CONFIG_WLAN_SYSFS_FW_MODE_CFG=y
|
||||
CONFIG_WLAN_SYSFS_HE_BSS_COLOR=y
|
||||
CONFIG_WLAN_SYSFS_LOG_BUFFER=y
|
||||
CONFIG_WLAN_SYSFS_MEM_STATS=y
|
||||
CONFIG_WLAN_SYSFS_MONITOR_MODE_CHANNEL=y
|
||||
CONFIG_WLAN_SYSFS_RADAR=y
|
||||
CONFIG_WLAN_SYSFS_RANGE_EXT=y
|
||||
CONFIG_WLAN_SYSFS_RTS_CTS=y
|
||||
CONFIG_WLAN_SYSFS_SCAN_CFG=y
|
||||
CONFIG_WLAN_SYSFS_STA_INFO=y
|
||||
CONFIG_WLAN_SYSFS_STATS=y
|
||||
CONFIG_WLAN_SYSFS_TDLS_PEERS=y
|
||||
CONFIG_WLAN_SYSFS_TEMPERATURE=y
|
||||
CONFIG_WLAN_SYSFS_TX_STBC=y
|
||||
CONFIG_WLAN_SYSFS_WLAN_DBG=y
|
||||
CONFIG_WLAN_SYSFS_BITRATES=y
|
||||
CONFIG_WLAN_SYSFS_RF_TEST_MODE=y
|
||||
CONFIG_WLAN_THERMAL_CFG=y
|
||||
CONFIG_WLAN_THERMAL_MULTI_CLIENT_SUPPORT=y
|
||||
CONFIG_WLAN_TRACEPOINTS=y
|
||||
CONFIG_WLAN_TSF_AUTO_REPORT=y
|
||||
CONFIG_WLAN_TSF_UPLINK_DELAY=y
|
||||
CONFIG_WLAN_TX_LATENCY_STATS=y
|
||||
CONFIG_WLAN_TWT_CONVERGED=y
|
||||
CONFIG_WLAN_TWT_SAP_PDEV_COUNT=y
|
||||
CONFIG_WLAN_TWT_SAP_STA_COUNT=y
|
||||
CONFIG_WLAN_TX_FLOW_CONTROL_V2=y
|
||||
CONFIG_WLAN_TXRX_FW_ST_RST=y
|
||||
CONFIG_WLAN_TXRX_FW_STATS=y
|
||||
CONFIG_WLAN_TXRX_STATS=y
|
||||
CONFIG_WLAN_UMAC_MLO_MAX_DEV=3
|
||||
CONFIG_WLAN_VENDOR_HANDOFF_CONTROL=y
|
||||
CONFIG_WLAN_WBUFF=y
|
||||
CONFIG_WLAN_WOW_ITO=y
|
||||
CONFIG_WLAN_WOWL_ADD_PTRN=y
|
||||
CONFIG_WLAN_WOWL_DEL_PTRN=y
|
||||
CONFIG_WMI_BCN_OFFLOAD=y
|
||||
CONFIG_WMI_CMD_STRINGS=y
|
||||
CONFIG_WMI_CONCURRENCY_SUPPORT=y
|
||||
CONFIG_WMI_DBR_SUPPORT=y
|
||||
CONFIG_WMI_INTERFACE_EVENT_LOGGING=y
|
||||
CONFIG_WMI_ROAM_SUPPORT=y
|
||||
CONFIG_WMI_SEND_RECV_QMI=y
|
||||
CONFIG_WMI_STA_SUPPORT=y
|
||||
CONFIG_CFG80211_EXTERNAL_AUTH_MLO_SUPPORT=y
|
||||
CONFIG_CFG80211_EXT_FEATURE_SECURE_NAN=y
|
||||
CONFIG_WLAN_CTRL_NAME="wlan"
|
||||
CONFIG_MULTI_IF_NAME="peach_v2"
|
||||
CONFIG_NL80211_TESTMODE=y
|
||||
CONFIG_ENABLE_CE4_COMP_DISABLE_HTT_HTC_MISC_LIST=y
|
||||
CONFIG_WLAN_HOST_ARCH_ARM=y
|
||||
CONFIG_ARCH_MSM=y
|
||||
CONFIG_DP_TX_PACKET_INSPECT_FOR_ILP=y
|
||||
CONFIG_NUM_SOC_PERF_CLUSTER=2
|
||||
CONFIG_WLAN_OPEN_SOURCE=y
|
||||
CONFIG_QCA_WIFI_FTM_NL80211=y
|
||||
CONFIG_CFG80211_MLD_AP_STA_CONNECT_UPSTREAM_SUPPORT=y
|
||||
CONFIG_DP_MULTIPASS_SUPPORT=y
|
||||
CONFIG_WLAN_DP_VDEV_NO_SELF_PEER=y
|
||||
CONFIG_WLAN_FEATURE_AFFINITY_MGR=y
|
||||
CONFIG_WALT_GET_CPU_TAKEN_SUPPORT=y
|
||||
CONFIG_DP_MLO_LINK_STATS_SUPPORT=y
|
||||
CONFIG_HIF_DEBUG=y
|
||||
CONFIG_WLAN_OBJMGR_DEBUG=y
|
||||
CONFIG_WLAN_OBJMGR_REF_ID_TRACE=y
|
||||
CONFIG_WLAN_WARN_ON_ASSERT=y
|
||||
CONFIG_WLAN_DP_FEATURE_DEFERRED_REO_QDESC_DESTROY=y
|
||||
CONFIG_PANIC_ON_BUG=y
|
||||
CONFIG_FEATURE_WLAN_CH_AVOID_EXT=y
|
||||
CONFIG_CNSS2_SSR_DRIVER_DUMP=y
|
||||
CONFIG_BUS_AUTO_SUSPEND=y
|
||||
CONFIG_CNSS_OUT_OF_TREE=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_RPS=y
|
||||
CONFIG_BCN_RATECODE_ENABLE=y
|
||||
CONFIG_4_BYTES_TLV_TAG=y
|
||||
CONFIG_WLAN_FEATURE_MARK_FIRST_WAKEUP_PACKET=y
|
||||
CONFIG_WLAN_MULTI_CHIP_SUPPORT=y
|
||||
CONFIG_WLAN_FEATURE_EMLSR=y
|
@ -18,6 +18,7 @@ CONFIG_CNSS_GENL_MODULE=y
|
||||
CONFIG_CNSS_KIWI=y
|
||||
CONFIG_CNSS_KIWI_V2=y
|
||||
CONFIG_CNSS_PEACH=y
|
||||
CONFIG_INCLUDE_HAL_PEACH=y
|
||||
CONFIG_CNSS_UTILS_MODULE=y
|
||||
CONFIG_CNSS_UTILS=y
|
||||
CONFIG_CONNECTIVITY_PKTLOG=y
|
||||
@ -394,3 +395,4 @@ CONFIG_BCN_RATECODE_ENABLE=y
|
||||
CONFIG_4_BYTES_TLV_TAG=y
|
||||
CONFIG_WLAN_FEATURE_MARK_FIRST_WAKEUP_PACKET=y
|
||||
CONFIG_WLAN_MULTI_CHIP_SUPPORT=y
|
||||
CONFIG_WLAN_FEATURE_EMLSR=y
|
||||
|
34
configs/sun_consolidate_peach-v2_defconfig
Normal file
34
configs/sun_consolidate_peach-v2_defconfig
Normal file
@ -0,0 +1,34 @@
|
||||
CONFIG_ALLOW_PKT_DROPPING=y
|
||||
CONFIG_ATH_DIAG_EXT_DIRECT=y
|
||||
CONFIG_DESC_TIMESTAMP_DEBUG_INFO=y
|
||||
CONFIG_DP_RX_REFILL_CPU_PERF_AFFINE_MASK=y
|
||||
CONFIG_DP_TX_COMP_RING_DESC_SANITY_CHECK=y
|
||||
CONFIG_DP_TX_HW_DESC_HISTORY=y
|
||||
CONFIG_DSC_DEBUG=y
|
||||
CONFIG_DSC_TEST=y
|
||||
CONFIG_ENABLE_QDF_PTR_HASH_DEBUG=y
|
||||
CONFIG_FEATURE_HIF_LATENCY_PROFILE_ENABLE=y
|
||||
CONFIG_FEATURE_UNIT_TEST_SUSPEND=y
|
||||
CONFIG_HAL_DEBUG=y
|
||||
CONFIG_HIF_CE_DEBUG_DATA_BUF=y
|
||||
CONFIG_HIF_CPU_PERF_AFFINE_MASK=y
|
||||
CONFIG_LEAK_DETECTION=y
|
||||
CONFIG_MAX_LOGS_PER_SEC=500
|
||||
CONFIG_ENABLE_MAX_LOGS_PER_SEC=y
|
||||
CONFIG_QDF_NBUF_HISTORY_SIZE=16384
|
||||
CONFIG_REGISTER_OP_DEBUG=y
|
||||
CONFIG_REO_QDESC_HISTORY=y
|
||||
CONFIG_RX_DESC_DEBUG_CHECK=y
|
||||
CONFIG_SCHED_HISTORY_SIZE=256
|
||||
CONFIG_ENABLE_SCHED_HISTORY_SIZE=y
|
||||
CONFIG_TALLOC_DEBUG=y
|
||||
CONFIG_UNIT_TEST=y
|
||||
CONFIG_WLAN_FEATURE_DP_CFG_EVENT_HISTORY=y
|
||||
CONFIG_WLAN_FEATURE_DP_MON_STATUS_RING_HISTORY=y
|
||||
CONFIG_WLAN_FEATURE_DP_RX_RING_HISTORY=y
|
||||
CONFIG_WLAN_FEATURE_DP_TX_DESC_HISTORY=y
|
||||
CONFIG_WLAN_RECORD_RX_PADDR=y
|
||||
CONFIG_QDF_TEST=y
|
||||
CONFIG_DYNAMIC_DEBUG=y
|
||||
CONFIG_FEATURE_WLM_STATS=y
|
||||
CONFIG_WLAN_TRACE_HIDE_MAC_ADDRESS_DISABLE=y
|
@ -17,6 +17,7 @@ CONFIG_CHIP_VERSION=2
|
||||
CONFIG_CNSS_GENL_MODULE=y
|
||||
CONFIG_CNSS_KIWI=y
|
||||
CONFIG_CNSS_KIWI_V2=y
|
||||
CONFIG_INCLUDE_HAL_KIWI=y
|
||||
CONFIG_CNSS_UTILS_MODULE=y
|
||||
CONFIG_CNSS_UTILS=y
|
||||
CONFIG_CONNECTIVITY_PKTLOG=y
|
||||
|
398
configs/sun_gki_peach-v2_defconfig
Normal file
398
configs/sun_gki_peach-v2_defconfig
Normal file
@ -0,0 +1,398 @@
|
||||
CONFIG_QCA_CLD_WLAN=y
|
||||
CONFIG_160MHZ_SUPPORT=y
|
||||
CONFIG_6G_SCAN_CHAN_SORT_ALGO=y
|
||||
CONFIG_ADAPTIVE_11R=y
|
||||
CONFIG_ANI_LEVEL_REQUEST=y
|
||||
CONFIG_AR900B=y
|
||||
CONFIG_ATH_11AC_TXCOMPACT=y
|
||||
CONFIG_ATH_BUS_PM=y
|
||||
CONFIG_ATH_PERF_PWR_OFFLOAD=y
|
||||
CONFIG_BAND_6GHZ=y
|
||||
CONFIG_BERYLLIUM=y
|
||||
CONFIG_CE_DISABLE_SRNG_TIMER_IRQ=y
|
||||
CONFIG_CFG_BMISS_OFFLOAD_MAX_VDEV=4
|
||||
CONFIG_CFG_MAX_STA_VDEVS=4
|
||||
CONFIG_CHECKSUM_OFFLOAD=y
|
||||
CONFIG_CHIP_VERSION=2
|
||||
CONFIG_CNSS_GENL_MODULE=y
|
||||
CONFIG_CNSS_KIWI=y
|
||||
CONFIG_CNSS_KIWI_V2=y
|
||||
CONFIG_CNSS_PEACH=y
|
||||
CONFIG_CNSS_PEACH_V2=y
|
||||
CONFIG_INCLUDE_HAL_PEACH=y
|
||||
CONFIG_CNSS_UTILS_MODULE=y
|
||||
CONFIG_CNSS_UTILS=y
|
||||
CONFIG_CONNECTIVITY_PKTLOG=y
|
||||
CONFIG_CONVERGED_P2P_ENABLE=y
|
||||
CONFIG_CP_STATS=y
|
||||
CONFIG_QCA_TARGET_IF_MLME=y
|
||||
CONFIG_DCS=y
|
||||
CONFIG_DDP_MON_RSSI_IN_DBM=y
|
||||
CONFIG_DEBUG_RX_RING_BUFFER=y
|
||||
CONFIG_DELIVERY_TO_STACK_STATUS_CHECK=y
|
||||
CONFIG_DESC_DUP_DETECT_DEBUG=y
|
||||
CONFIG_DEVICE_FORCE_WAKE_ENABLE=y
|
||||
CONFIG_DIRECT_BUF_RX_ENABLE=y
|
||||
CONFIG_DISABLE_CHANNEL_LIST=y
|
||||
CONFIG_DISABLE_EAPOL_INTRABSS_FWD=y
|
||||
CONFIG_DISABLE_STATUS_RING_TIMER_WAR=y
|
||||
CONFIG_DP_BE_WAR=y
|
||||
CONFIG_DP_CON_MON_MSI_ENABLED=y
|
||||
CONFIG_DP_CON_MON_MSI_SKIP_SET=y
|
||||
CONFIG_DP_FEATURE_HW_COOKIE_CONVERSION=y
|
||||
CONFIG_DP_HW_COOKIE_CONVERT_EXCEPTION=y
|
||||
CONFIG_DP_HW_TX_DELAY_STATS_ENABLE=y
|
||||
CONFIG_DP_INTR_POLL_BASED=y
|
||||
CONFIG_DP_LFR=y
|
||||
CONFIG_DP_MEM_PRE_ALLOC=y
|
||||
CONFIG_DP_PKT_ADD_TIMESTAMP=y
|
||||
CONFIG_DP_PKT_STATS_PER_LMAC=y
|
||||
CONFIG_DP_RX_BUFFER_POOL_ALLOC_THRES=5
|
||||
CONFIG_DP_RX_BUFFER_POOL_SIZE=128
|
||||
CONFIG_DP_RX_REFILL_BUFF_POOL_SIZE=2048
|
||||
CONFIG_DP_RX_REFILL_THRD_THRESHOLD=512
|
||||
CONFIG_DP_RX_DROP_RAW_FRM=y
|
||||
CONFIG_DP_RX_PKT_NO_PEER_DELIVER=y
|
||||
CONFIG_DP_RX_SPECIAL_FRAME_NEED=y
|
||||
CONFIG_DP_TRACE=y
|
||||
CONFIG_DP_TRAFFIC_END_INDICATION=y
|
||||
CONFIG_DP_TXRX_SOC_ATTACH=y
|
||||
CONFIG_DP_USE_REDUCED_PEER_ID_FIELD_WIDTH=y
|
||||
CONFIG_DP_WAR_INVALID_FIRST_MSDU_FLAG=y
|
||||
CONFIG_DUP_RX_DESC_WAR=y
|
||||
CONFIG_DYNAMIC_RX_AGGREGATION=y
|
||||
CONFIG_EMULATION_2_0=y
|
||||
CONFIG_ENABLE_HAL_REG_WR_HISTORY=y
|
||||
CONFIG_ENABLE_HAL_SOC_STATS=y
|
||||
CONFIG_ENABLE_MTRACE_LOG=y
|
||||
CONFIG_ENABLE_SMMU_S1_TRANSLATION=y
|
||||
CONFIG_FEATURE_ACTIVE_TOS=y
|
||||
CONFIG_FEATURE_ALIGN_STATS_FROM_DP=y
|
||||
CONFIG_FEATURE_BECN_STATS=y
|
||||
CONFIG_FEATURE_BSS_TRANSITION=y
|
||||
CONFIG_FEATURE_BUS_BANDWIDTH_MGR=y
|
||||
CONFIG_FEATURE_CLUB_LL_STATS_AND_GET_STATION=y
|
||||
CONFIG_FEATURE_COEX=y
|
||||
CONFIG_FEATURE_CONCURRENCY_MATRIX=y
|
||||
CONFIG_FEATURE_DELAYED_PEER_OBJ_DESTROY=y
|
||||
CONFIG_FEATURE_DENYLIST_MGR=y
|
||||
CONFIG_FEATURE_EPPING=y
|
||||
CONFIG_FEATURE_FORCE_WAKE=y
|
||||
CONFIG_FEATURE_FW_LOG_PARSING=y
|
||||
CONFIG_FEATURE_GPIO_CFG=y
|
||||
CONFIG_FEATURE_HAL_DELAYED_REG_WRITE=y
|
||||
CONFIG_FEATURE_HTC_CREDIT_HISTORY=y
|
||||
CONFIG_FEATURE_INTEROP_ISSUES_AP=y
|
||||
CONFIG_FEATURE_MEMDUMP_ENABLE=y
|
||||
CONFIG_FEATURE_MONITOR_MODE_SUPPORT=y
|
||||
CONFIG_FEATURE_MSCS=y
|
||||
CONFIG_FEATURE_NO_DBS_INTRABAND_MCC_SUPPORT=y
|
||||
CONFIG_FEATURE_OEM_DATA=y
|
||||
CONFIG_FEATURE_OTA_TEST=y
|
||||
CONFIG_FEATURE_P2P_LISTEN_OFFLOAD=y
|
||||
CONFIG_FEATURE_RADAR_HISTORY=y
|
||||
CONFIG_FEATURE_ROAM_DEBUG=y
|
||||
CONFIG_FEATURE_RSSI_MONITOR=y
|
||||
CONFIG_FEATURE_RX_LINKSPEED_ROAM_TRIGGER=y
|
||||
CONFIG_FEATURE_SAP_COND_CHAN_SWITCH=y
|
||||
CONFIG_FEATURE_SAR_LIMITS=y
|
||||
CONFIG_FEATURE_SET=y
|
||||
CONFIG_FEATURE_STATION_INFO=y
|
||||
CONFIG_FEATURE_STATS_EXT=y
|
||||
CONFIG_FEATURE_STATS_EXT_V2=y
|
||||
CONFIG_FEATURE_TSO=y
|
||||
CONFIG_FEATURE_TSO_STATS=y
|
||||
CONFIG_FEATURE_TX_POWER=y
|
||||
CONFIG_FEATURE_VDEV_OPS_WAKELOCK=y
|
||||
CONFIG_FEATURE_WLAN_LPHB=y
|
||||
CONFIG_FEATURE_WLAN_PRE_CAC=y
|
||||
CONFIG_FEATURE_WLAN_RA_FILTERING=y
|
||||
CONFIG_FEATURE_WLAN_SCAN_PNO=y
|
||||
CONFIG_FEATURE_WLAN_WAPI=y
|
||||
CONFIG_FIX_TXDMA_LIMITATION=y
|
||||
CONFIG_FOURTH_CONNECTION=y
|
||||
CONFIG_FW_THERMAL_THROTTLE=y
|
||||
CONFIG_GET_DRIVER_MODE=y
|
||||
CONFIG_GTK_OFFLOAD=y
|
||||
CONFIG_HAL_DISABLE_NON_BA_2K_JUMP_ERROR=y
|
||||
CONFIG_HANDLE_BC_EAP_TX_FRM=y
|
||||
CONFIG_HANDLE_RX_REROUTE_ERR=y
|
||||
CONFIG_HASTINGS_BT_WAR=y
|
||||
CONFIG_HDD_INIT_WITH_RTNL_LOCK=y
|
||||
CONFIG_HIF_PCI=y
|
||||
CONFIG_HIF_REG_WINDOW_SUPPORT=y
|
||||
CONFIG_HOST_OPCLASS=y
|
||||
CONFIG_HTT_PADDR64=y
|
||||
CONFIG_IPA_OFFLOAD=y
|
||||
CONFIG_IPA_OPT_WIFI_DP=y
|
||||
CONFIG_IPA_SET_RESET_TX_DB_PA=y
|
||||
CONFIG_KIWI_HEADERS_DEF=y
|
||||
CONFIG_LFR_SUBNET_DETECTION=y
|
||||
CONFIG_LINUX_QCMBR=y
|
||||
CONFIG_LITTLE_ENDIAN=y
|
||||
CONFIG_LL_DP_SUPPORT=y
|
||||
CONFIG_LTE_COEX=y
|
||||
CONFIG_MARK_ICMP_REQ_TO_FW=y
|
||||
CONFIG_MAX_ALLOC_PAGE_SIZE=y
|
||||
CONFIG_MCC_TO_SCC_SWITCH=y
|
||||
CONFIG_MON_ENABLE_DROP_FOR_MAC=y
|
||||
CONFIG_MON_ENABLE_DROP_FOR_NON_MON_PMAC=y
|
||||
CONFIG_MORE_TX_DESC=y
|
||||
CONFIG_MULTI_CLIENT_LL_SUPPORT=y
|
||||
CONFIG_NO_RX_PKT_HDR_TLV=y
|
||||
CONFIG_OBSS_PD=y
|
||||
CONFIG_OFDM_SCRAMBLER_SEED=y
|
||||
CONFIG_PCI_LINK_STATUS_SANITY=y
|
||||
CONFIG_PCIE_GEN_SWITCH=y
|
||||
CONFIG_PEER_PROTECTED_ACCESS=y
|
||||
CONFIG_PKTLOG_HAS_SPECIFIC_DATA=y
|
||||
CONFIG_PLD_PCIE_CNSS_FLAG=y
|
||||
CONFIG_PLD_PCIE_INIT_FLAG=y
|
||||
CONFIG_POWER_MANAGEMENT_OFFLOAD=y
|
||||
CONFIG_PTT_SOCK_SVC_ENABLE=y
|
||||
CONFIG_QCA_DFS_BW_PUNCTURE=y
|
||||
CONFIG_QCA_GET_TSF_VIA_REG=y
|
||||
CONFIG_QCA_MONITOR_PKT_SUPPORT=y
|
||||
CONFIG_QCA_SUPPORT_TX_MIN_RATES_FOR_SPECIAL_FRAMES=y
|
||||
CONFIG_QCA_SUPPORT_TX_THROTTLE=y
|
||||
CONFIG_QCA_WIFI_FTM=y
|
||||
CONFIG_QCA_WIFI_KIWI=y
|
||||
CONFIG_QCA_WIFI_MONITOR_MODE_NO_MSDU_START_TLV_SUPPORT=y
|
||||
CONFIG_QCA_WIFI_QCA8074=y
|
||||
CONFIG_QCA_WIFI_QCA8074_VP=y
|
||||
CONFIG_QCACLD_FEATURE_APF=y
|
||||
CONFIG_QCACLD_FEATURE_FW_STATE=y
|
||||
CONFIG_QCACLD_FEATURE_GAP_LL_PS_MODE=y
|
||||
CONFIG_QCACLD_FEATURE_GREEN_AP=y
|
||||
CONFIG_QCACLD_FEATURE_NAN=y
|
||||
CONFIG_QCACLD_RX_DESC_MULTI_PAGE_ALLOC=y
|
||||
CONFIG_QCACLD_WLAN_CONNECTIVITY_DIAG_EVENT=y
|
||||
CONFIG_QCACLD_WLAN_LFR3=y
|
||||
CONFIG_QCOM_ESE=y
|
||||
CONFIG_QCOM_LTE_COEX=y
|
||||
CONFIG_QCOM_TDLS=y
|
||||
CONFIG_QCOM_VOWIFI_11R=y
|
||||
CONFIG_QMI_SUPPORT=y
|
||||
CONFIG_REG_CLIENT=y
|
||||
CONFIG_REMOVE_PKT_LOG=y
|
||||
CONFIG_REO_DESC_DEFER_FREE=y
|
||||
CONFIG_RX_DEFRAG_DO_NOT_REINJECT=y
|
||||
CONFIG_RX_DESC_SANITY_WAR=y
|
||||
CONFIG_RX_FISA=y
|
||||
CONFIG_RX_HASH_DEBUG=y
|
||||
CONFIG_RX_OL=y
|
||||
CONFIG_RXDMA_ERR_PKT_DROP=y
|
||||
CONFIG_SAE_SINGLE_PMK=y
|
||||
CONFIG_SAP_AVOID_ACS_FREQ_LIST=y
|
||||
CONFIG_SAP_DHCP_FW_IND=y
|
||||
CONFIG_SAR_SAFETY_FEATURE=y
|
||||
CONFIG_SCALE_INCLUDES=y
|
||||
CONFIG_SERIALIZE_QUEUE_SETUP=y
|
||||
CONFIG_SHADOW_V3=y
|
||||
CONFIG_SMMU_S1_UNMAP=y
|
||||
CONFIG_SOFTAP_CHANNEL_RANGE=y
|
||||
CONFIG_SUPPORT_11AX=y
|
||||
CONFIG_SYSTEM_PM_CHECK=y
|
||||
CONFIG_TARGET_11D_SCAN=y
|
||||
CONFIG_TARGET_RAMDUMP_AFTER_KERNEL_PANIC=y
|
||||
CONFIG_THERMAL_STATS_SUPPORT=y
|
||||
CONFIG_TRACE_RECORD_FEATURE=y
|
||||
CONFIG_TSO_DEBUG_LOG_ENABLE=y
|
||||
CONFIG_TX_ADDR_INDEX_SEARCH=y
|
||||
CONFIG_TX_MULTI_TCL=y
|
||||
CONFIG_TX_MULTIQ_PER_AC=y
|
||||
CONFIG_TX_PER_PDEV_DESC_POOL=y
|
||||
CONFIG_TX_TID_OVERRIDE=y
|
||||
CONFIG_VERBOSE_DEBUG=y
|
||||
CONFIG_WAPI_BIG_ENDIAN=y
|
||||
CONFIG_WCNSS_MEM_PRE_ALLOC_MODULE=y
|
||||
CONFIG_WCNSS_MEM_PRE_ALLOC=y
|
||||
CONFIG_WDI_EVENT_ENABLE=y
|
||||
CONFIG_WDI3_IPA_OVER_GSI=y
|
||||
CONFIG_WIFI_MONITOR_SUPPORT=y
|
||||
CONFIG_WIFI_POS_CONVERGED=y
|
||||
CONFIG_WIFI_POS_PASN=y
|
||||
CONFIG_WINDOW_REG_PLD_LOCK_ENABLE=y
|
||||
CONFIG_WLAN_BCN_RECV_FEATURE=y
|
||||
CONFIG_WLAN_BMISS=y
|
||||
CONFIG_WLAN_CE_INTERRUPT_THRESHOLD_CONFIG=y
|
||||
CONFIG_WLAN_CFR_ENABLE=y
|
||||
CONFIG_WLAN_CLD_DEV_PM_QOS=y
|
||||
CONFIG_WLAN_CLD_PM_QOS=y
|
||||
CONFIG_WLAN_CONV_SPECTRAL_ENABLE=y
|
||||
CONFIG_WLAN_CUSTOM_DSCP_UP_MAP=y
|
||||
CONFIG_WLAN_DEBUG_CRASH_INJECT=y
|
||||
CONFIG_WLAN_DEBUG_LINK_VOTE=y
|
||||
CONFIG_WLAN_DEBUG_VERSION=y
|
||||
CONFIG_WLAN_DEBUGFS=y
|
||||
CONFIG_WLAN_DFS_MASTER_ENABLE=y
|
||||
CONFIG_WLAN_DFS_STATIC_MEM_ALLOC=y
|
||||
CONFIG_WLAN_DIAG_VERSION=y
|
||||
CONFIG_WLAN_DL_MODES=y
|
||||
CONFIG_WLAN_DP_DISABLE_TCL_CMD_CRED_SRNG=y
|
||||
CONFIG_WLAN_DP_DISABLE_TCL_STATUS_SRNG=y
|
||||
CONFIG_WLAN_DP_PENDING_MEM_FLUSH=y
|
||||
CONFIG_WLAN_DP_PER_RING_TYPE_CONFIG=y
|
||||
CONFIG_WLAN_DP_SRNG_USAGE_WM_TRACKING=y
|
||||
CONFIG_WLAN_DYNAMIC_CVM=y
|
||||
CONFIG_WLAN_ENABLE_SOCIAL_CHANNELS_5G_ONLY=y
|
||||
CONFIG_WLAN_ENH_CFR_ENABLE=y
|
||||
CONFIG_WLAN_FEATURE_11AX=y
|
||||
CONFIG_WLAN_FEATURE_11BE=y
|
||||
CONFIG_WLAN_FEATURE_11BE_MLO=y
|
||||
CONFIG_WLAN_HDD_MULTI_VDEV_SINGLE_NDEV=y
|
||||
CONFIG_WLAN_FEATURE_ACTION_OUI=y
|
||||
CONFIG_WLAN_FEATURE_BIG_DATA_STATS=y
|
||||
CONFIG_WLAN_FEATURE_CAL_FAILURE_TRIGGER=y
|
||||
CONFIG_WLAN_FEATURE_COAP=y
|
||||
CONFIG_WLAN_FEATURE_COEX_DBAM=y
|
||||
CONFIG_WLAN_FEATURE_DFS_OFFLOAD=y
|
||||
CONFIG_WLAN_FEATURE_DISA=y
|
||||
CONFIG_WLAN_FEATURE_DP_BUS_BANDWIDTH=y
|
||||
CONFIG_WLAN_FEATURE_DP_EVENT_HISTORY=y
|
||||
CONFIG_WLAN_FEATURE_DP_RX_THREADS=y
|
||||
CONFIG_WLAN_FEATURE_DYNAMIC_MAC_ADDR_UPDATE=y
|
||||
CONFIG_WLAN_FEATURE_ELNA=y
|
||||
CONFIG_WLAN_FEATURE_FILS=y
|
||||
CONFIG_WLAN_FEATURE_FIPS=y
|
||||
CONFIG_WLAN_FEATURE_GET_USABLE_CHAN_LIST=y
|
||||
CONFIG_WLAN_FEATURE_ICMP_OFFLOAD=y
|
||||
CONFIG_WLAN_FEATURE_IGMP_OFFLOAD=y
|
||||
CONFIG_WLAN_FEATURE_LINK_LAYER_STATS=y
|
||||
CONFIG_WLAN_FEATURE_LPSS=y
|
||||
CONFIG_WLAN_FEATURE_LRO_CTX_IN_CB=y
|
||||
CONFIG_WLAN_FEATURE_MBSSID=y
|
||||
CONFIG_WLAN_FEATURE_MCC_QUOTA=y
|
||||
CONFIG_WLAN_FEATURE_MDNS_OFFLOAD=y
|
||||
CONFIG_WLAN_FEATURE_MEDIUM_ASSESS=y
|
||||
CONFIG_WLAN_FEATURE_MIB_STATS=y
|
||||
CONFIG_WLAN_FEATURE_NEAR_FULL_IRQ=y
|
||||
CONFIG_WLAN_FEATURE_P2P_DEBUG=y
|
||||
CONFIG_WLAN_FEATURE_P2P_P2P_STA=y
|
||||
CONFIG_WLAN_FEATURE_PACKET_FILTERING=y
|
||||
CONFIG_WLAN_FEATURE_PEER_TXQ_FLUSH_CONF=y
|
||||
CONFIG_WLAN_FEATURE_ROAM_INFO_STATS=y
|
||||
CONFIG_WLAN_FEATURE_RX_BUFFER_POOL=y
|
||||
CONFIG_WLAN_FEATURE_RX_SOFTIRQ_TIME_LIMIT=y
|
||||
CONFIG_WLAN_FEATURE_SAE=y
|
||||
CONFIG_WLAN_FEATURE_SAP_ACS_OPTIMIZE=y
|
||||
CONFIG_WLAN_FEATURE_SARV1_TO_SARV2=y
|
||||
CONFIG_WLAN_FEATURE_SR=y
|
||||
CONFIG_WLAN_FEATURE_TWT=y
|
||||
CONFIG_WLAN_FEATURE_WMI_DIAG_OVER_CE7=y
|
||||
CONFIG_WLAN_FREQ_LIST=y
|
||||
CONFIG_WLAN_FW_OFFLOAD=y
|
||||
CONFIG_WLAN_GTX_BW_MASK=y
|
||||
CONFIG_WLAN_HANG_EVENT=y
|
||||
CONFIG_WLAN_LOG_DEBUG=y
|
||||
CONFIG_WLAN_LOG_ENTER=y
|
||||
CONFIG_WLAN_LOG_ERROR=y
|
||||
CONFIG_WLAN_LOG_EXIT=y
|
||||
CONFIG_WLAN_LOG_FATAL=y
|
||||
CONFIG_WLAN_LOG_INFO=y
|
||||
CONFIG_WLAN_LOG_WARN=y
|
||||
CONFIG_WLAN_LOGGING_SOCK_SVC=y
|
||||
CONFIG_WLAN_MWS_INFO_DEBUGFS=y
|
||||
CONFIG_WLAN_NAPI=y
|
||||
CONFIG_WLAN_NS_OFFLOAD=y
|
||||
CONFIG_WLAN_NUD_TRACKING=y
|
||||
CONFIG_WLAN_OFFLOAD_PACKETS=y
|
||||
CONFIG_WLAN_OPEN_P2P_INTERFACE=y
|
||||
CONFIG_WLAN_PDEV_VDEV_SEND_MULTI_PARAM=y
|
||||
CONFIG_WLAN_PMO_ENABLE=y
|
||||
CONFIG_WLAN_POLICY_MGR_ENABLE=y
|
||||
CONFIG_WLAN_POWER_DEBUG=y
|
||||
CONFIG_WLAN_REASSOC=y
|
||||
CONFIG_WLAN_RX_MON_PARSE_CMN_USER_INFO=y
|
||||
CONFIG_WLAN_SCAN_DISABLE=y
|
||||
CONFIG_WLAN_SKIP_BAR_UPDATE=y
|
||||
CONFIG_WLAN_SUPPORT_DATA_STALL=y
|
||||
CONFIG_WLAN_SYNC_TSF=y
|
||||
CONFIG_WLAN_SYNC_TSF_PLUS=y
|
||||
CONFIG_WLAN_SYNC_TSF_TIMER=y
|
||||
CONFIG_WLAN_SYSFS=y
|
||||
CONFIG_WLAN_SYSFS_CHANNEL=y
|
||||
CONFIG_WLAN_SYSFS_CONNECT_INFO=y
|
||||
CONFIG_WLAN_SYSFS_DCM=y
|
||||
CONFIG_WLAN_SYSFS_DFSNOL=y
|
||||
CONFIG_WLAN_SYSFS_DP_STATS=y
|
||||
CONFIG_WLAN_SYSFS_DP_TRACE=y
|
||||
CONFIG_WLAN_SYSFS_EHT_RATE=y
|
||||
CONFIG_WLAN_SYSFS_FW_MODE_CFG=y
|
||||
CONFIG_WLAN_SYSFS_HE_BSS_COLOR=y
|
||||
CONFIG_WLAN_SYSFS_LOG_BUFFER=y
|
||||
CONFIG_WLAN_SYSFS_MEM_STATS=y
|
||||
CONFIG_WLAN_SYSFS_MONITOR_MODE_CHANNEL=y
|
||||
CONFIG_WLAN_SYSFS_RADAR=y
|
||||
CONFIG_WLAN_SYSFS_RANGE_EXT=y
|
||||
CONFIG_WLAN_SYSFS_RTS_CTS=y
|
||||
CONFIG_WLAN_SYSFS_SCAN_CFG=y
|
||||
CONFIG_WLAN_SYSFS_STA_INFO=y
|
||||
CONFIG_WLAN_SYSFS_STATS=y
|
||||
CONFIG_WLAN_SYSFS_TDLS_PEERS=y
|
||||
CONFIG_WLAN_SYSFS_TEMPERATURE=y
|
||||
CONFIG_WLAN_SYSFS_TX_STBC=y
|
||||
CONFIG_WLAN_SYSFS_WLAN_DBG=y
|
||||
CONFIG_WLAN_SYSFS_BITRATES=y
|
||||
CONFIG_WLAN_SYSFS_RF_TEST_MODE=y
|
||||
CONFIG_WLAN_THERMAL_CFG=y
|
||||
CONFIG_WLAN_THERMAL_MULTI_CLIENT_SUPPORT=y
|
||||
CONFIG_WLAN_TRACEPOINTS=y
|
||||
CONFIG_WLAN_TSF_AUTO_REPORT=y
|
||||
CONFIG_WLAN_TSF_UPLINK_DELAY=y
|
||||
CONFIG_WLAN_TX_LATENCY_STATS=y
|
||||
CONFIG_WLAN_TWT_CONVERGED=y
|
||||
CONFIG_WLAN_TWT_SAP_PDEV_COUNT=y
|
||||
CONFIG_WLAN_TWT_SAP_STA_COUNT=y
|
||||
CONFIG_WLAN_TX_FLOW_CONTROL_V2=y
|
||||
CONFIG_WLAN_TXRX_FW_ST_RST=y
|
||||
CONFIG_WLAN_TXRX_FW_STATS=y
|
||||
CONFIG_WLAN_TXRX_STATS=y
|
||||
CONFIG_WLAN_UMAC_MLO_MAX_DEV=3
|
||||
CONFIG_WLAN_VENDOR_HANDOFF_CONTROL=y
|
||||
CONFIG_WLAN_WBUFF=y
|
||||
CONFIG_WLAN_WOW_ITO=y
|
||||
CONFIG_WLAN_WOWL_ADD_PTRN=y
|
||||
CONFIG_WLAN_WOWL_DEL_PTRN=y
|
||||
CONFIG_WMI_BCN_OFFLOAD=y
|
||||
CONFIG_WMI_CMD_STRINGS=y
|
||||
CONFIG_WMI_CONCURRENCY_SUPPORT=y
|
||||
CONFIG_WMI_DBR_SUPPORT=y
|
||||
CONFIG_WMI_INTERFACE_EVENT_LOGGING=y
|
||||
CONFIG_WMI_ROAM_SUPPORT=y
|
||||
CONFIG_WMI_SEND_RECV_QMI=y
|
||||
CONFIG_WMI_STA_SUPPORT=y
|
||||
CONFIG_CFG80211_EXTERNAL_AUTH_MLO_SUPPORT=y
|
||||
CONFIG_CFG80211_EXT_FEATURE_SECURE_NAN=y
|
||||
CONFIG_WLAN_CTRL_NAME="wlan"
|
||||
CONFIG_MULTI_IF_NAME="peach_v2"
|
||||
CONFIG_NL80211_TESTMODE=y
|
||||
CONFIG_ENABLE_CE4_COMP_DISABLE_HTT_HTC_MISC_LIST=y
|
||||
CONFIG_WLAN_HOST_ARCH_ARM=y
|
||||
CONFIG_ARCH_MSM=y
|
||||
CONFIG_DP_TX_PACKET_INSPECT_FOR_ILP=y
|
||||
CONFIG_NUM_SOC_PERF_CLUSTER=2
|
||||
CONFIG_WLAN_OPEN_SOURCE=y
|
||||
CONFIG_QCA_WIFI_FTM_NL80211=y
|
||||
CONFIG_CFG80211_MLD_AP_STA_CONNECT_UPSTREAM_SUPPORT=y
|
||||
CONFIG_DP_MULTIPASS_SUPPORT=y
|
||||
CONFIG_WLAN_DP_VDEV_NO_SELF_PEER=y
|
||||
CONFIG_WLAN_FEATURE_AFFINITY_MGR=y
|
||||
CONFIG_WALT_GET_CPU_TAKEN_SUPPORT=y
|
||||
CONFIG_DP_MLO_LINK_STATS_SUPPORT=y
|
||||
CONFIG_HIF_DEBUG=y
|
||||
CONFIG_WLAN_OBJMGR_DEBUG=y
|
||||
CONFIG_WLAN_OBJMGR_REF_ID_TRACE=y
|
||||
CONFIG_WLAN_WARN_ON_ASSERT=y
|
||||
CONFIG_WLAN_DP_FEATURE_DEFERRED_REO_QDESC_DESTROY=y
|
||||
CONFIG_PANIC_ON_BUG=y
|
||||
CONFIG_FEATURE_WLAN_CH_AVOID_EXT=y
|
||||
CONFIG_CNSS2_SSR_DRIVER_DUMP=y
|
||||
CONFIG_BUS_AUTO_SUSPEND=y
|
||||
CONFIG_CNSS_OUT_OF_TREE=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_RPS=y
|
||||
CONFIG_BCN_RATECODE_ENABLE=y
|
||||
CONFIG_4_BYTES_TLV_TAG=y
|
||||
CONFIG_WLAN_FEATURE_MARK_FIRST_WAKEUP_PACKET=y
|
||||
CONFIG_WLAN_MULTI_CHIP_SUPPORT=y
|
@ -18,6 +18,7 @@ CONFIG_CNSS_GENL_MODULE=y
|
||||
CONFIG_CNSS_KIWI=y
|
||||
CONFIG_CNSS_KIWI_V2=y
|
||||
CONFIG_CNSS_PEACH=y
|
||||
CONFIG_INCLUDE_HAL_PEACH=y
|
||||
CONFIG_CNSS_UTILS_MODULE=y
|
||||
CONFIG_CNSS_UTILS=y
|
||||
CONFIG_CONNECTIVITY_PKTLOG=y
|
||||
|
34
configs/volcano_consolidate_peach-v2_defconfig
Normal file
34
configs/volcano_consolidate_peach-v2_defconfig
Normal file
@ -0,0 +1,34 @@
|
||||
CONFIG_ALLOW_PKT_DROPPING=y
|
||||
CONFIG_ATH_DIAG_EXT_DIRECT=y
|
||||
CONFIG_DESC_TIMESTAMP_DEBUG_INFO=y
|
||||
CONFIG_DP_RX_REFILL_CPU_PERF_AFFINE_MASK=y
|
||||
CONFIG_DP_TX_COMP_RING_DESC_SANITY_CHECK=y
|
||||
CONFIG_DP_TX_HW_DESC_HISTORY=y
|
||||
CONFIG_DSC_DEBUG=y
|
||||
CONFIG_DSC_TEST=y
|
||||
CONFIG_ENABLE_QDF_PTR_HASH_DEBUG=y
|
||||
CONFIG_FEATURE_HIF_LATENCY_PROFILE_ENABLE=y
|
||||
CONFIG_FEATURE_UNIT_TEST_SUSPEND=y
|
||||
CONFIG_HAL_DEBUG=y
|
||||
CONFIG_HIF_CE_DEBUG_DATA_BUF=y
|
||||
CONFIG_HIF_CPU_PERF_AFFINE_MASK=y
|
||||
CONFIG_LEAK_DETECTION=y
|
||||
CONFIG_MAX_LOGS_PER_SEC=500
|
||||
CONFIG_ENABLE_MAX_LOGS_PER_SEC=y
|
||||
CONFIG_QDF_NBUF_HISTORY_SIZE=16384
|
||||
CONFIG_REGISTER_OP_DEBUG=y
|
||||
CONFIG_REO_QDESC_HISTORY=y
|
||||
CONFIG_RX_DESC_DEBUG_CHECK=y
|
||||
CONFIG_SCHED_HISTORY_SIZE=256
|
||||
CONFIG_ENABLE_SCHED_HISTORY_SIZE=y
|
||||
CONFIG_TALLOC_DEBUG=y
|
||||
CONFIG_UNIT_TEST=y
|
||||
CONFIG_WLAN_FEATURE_DP_CFG_EVENT_HISTORY=y
|
||||
CONFIG_WLAN_FEATURE_DP_MON_STATUS_RING_HISTORY=y
|
||||
CONFIG_WLAN_FEATURE_DP_RX_RING_HISTORY=y
|
||||
CONFIG_WLAN_FEATURE_DP_TX_DESC_HISTORY=y
|
||||
CONFIG_WLAN_RECORD_RX_PADDR=y
|
||||
CONFIG_QDF_TEST=y
|
||||
CONFIG_DYNAMIC_DEBUG=y
|
||||
CONFIG_FEATURE_WLM_STATS=y
|
||||
CONFIG_WLAN_TRACE_HIDE_MAC_ADDRESS_DISABLE=y
|
414
configs/volcano_gki_peach-v2_defconfig
Normal file
414
configs/volcano_gki_peach-v2_defconfig
Normal file
@ -0,0 +1,414 @@
|
||||
CONFIG_QCA_CLD_WLAN=y
|
||||
CONFIG_160MHZ_SUPPORT=y
|
||||
CONFIG_6G_SCAN_CHAN_SORT_ALGO=y
|
||||
CONFIG_ADAPTIVE_11R=y
|
||||
CONFIG_ANI_LEVEL_REQUEST=y
|
||||
CONFIG_AR900B=y
|
||||
CONFIG_ATH_11AC_TXCOMPACT=y
|
||||
CONFIG_ATH_BUS_PM=y
|
||||
CONFIG_ATH_PERF_PWR_OFFLOAD=y
|
||||
CONFIG_BAND_6GHZ=y
|
||||
CONFIG_BERYLLIUM=y
|
||||
CONFIG_CE_DISABLE_SRNG_TIMER_IRQ=y
|
||||
CONFIG_CFG_BMISS_OFFLOAD_MAX_VDEV=4
|
||||
CONFIG_CFG_MAX_STA_VDEVS=4
|
||||
CONFIG_CHECKSUM_OFFLOAD=y
|
||||
CONFIG_CHIP_VERSION=2
|
||||
CONFIG_CNSS_GENL_MODULE=y
|
||||
CONFIG_CNSS_KIWI=y
|
||||
CONFIG_CNSS_KIWI_V2=y
|
||||
CONFIG_CNSS_PEACH=y
|
||||
CONFIG_CNSS_PEACH_V2=y
|
||||
CONFIG_INCLUDE_HAL_PEACH=y
|
||||
CONFIG_CNSS_UTILS_MODULE=y
|
||||
CONFIG_CNSS_UTILS=y
|
||||
CONFIG_CONNECTIVITY_PKTLOG=y
|
||||
CONFIG_CONVERGED_P2P_ENABLE=y
|
||||
CONFIG_CP_STATS=y
|
||||
CONFIG_QCA_TARGET_IF_MLME=y
|
||||
CONFIG_DCS=y
|
||||
CONFIG_DDP_MON_RSSI_IN_DBM=y
|
||||
CONFIG_DEBUG_RX_RING_BUFFER=y
|
||||
CONFIG_DELIVERY_TO_STACK_STATUS_CHECK=y
|
||||
CONFIG_DESC_DUP_DETECT_DEBUG=y
|
||||
CONFIG_DEVICE_FORCE_WAKE_ENABLE=y
|
||||
CONFIG_DIRECT_BUF_RX_ENABLE=y
|
||||
CONFIG_DISABLE_CHANNEL_LIST=y
|
||||
CONFIG_DISABLE_EAPOL_INTRABSS_FWD=y
|
||||
CONFIG_DISABLE_STATUS_RING_TIMER_WAR=y
|
||||
CONFIG_DP_BE_WAR=y
|
||||
CONFIG_DP_CON_MON_MSI_ENABLED=y
|
||||
CONFIG_DP_CON_MON_MSI_SKIP_SET=y
|
||||
CONFIG_DP_FEATURE_HW_COOKIE_CONVERSION=y
|
||||
CONFIG_DP_HW_COOKIE_CONVERT_EXCEPTION=y
|
||||
CONFIG_DP_HW_TX_DELAY_STATS_ENABLE=y
|
||||
CONFIG_DP_INTR_POLL_BASED=y
|
||||
CONFIG_DP_LFR=y
|
||||
CONFIG_DP_MEM_PRE_ALLOC=y
|
||||
CONFIG_DP_PKT_ADD_TIMESTAMP=y
|
||||
CONFIG_DP_PKT_STATS_PER_LMAC=y
|
||||
CONFIG_DP_RX_BUFFER_POOL_ALLOC_THRES=5
|
||||
CONFIG_DP_RX_BUFFER_POOL_SIZE=128
|
||||
CONFIG_DP_RX_REFILL_BUFF_POOL_SIZE=2048
|
||||
CONFIG_DP_RX_REFILL_THRD_THRESHOLD=512
|
||||
CONFIG_DP_RX_DROP_RAW_FRM=y
|
||||
CONFIG_DP_RX_PKT_NO_PEER_DELIVER=y
|
||||
CONFIG_DP_RX_SPECIAL_FRAME_NEED=y
|
||||
CONFIG_DP_TRACE=y
|
||||
CONFIG_DP_TRAFFIC_END_INDICATION=y
|
||||
CONFIG_DP_TXRX_SOC_ATTACH=y
|
||||
CONFIG_TX_NSS_STATS_SUPPORT=y
|
||||
CONFIG_DP_USE_REDUCED_PEER_ID_FIELD_WIDTH=y
|
||||
CONFIG_DP_WAR_INVALID_FIRST_MSDU_FLAG=y
|
||||
CONFIG_DUP_RX_DESC_WAR=y
|
||||
CONFIG_DYNAMIC_RX_AGGREGATION=y
|
||||
CONFIG_EMULATION_2_0=y
|
||||
CONFIG_ENABLE_HAL_REG_WR_HISTORY=y
|
||||
CONFIG_ENABLE_HAL_SOC_STATS=y
|
||||
CONFIG_ENABLE_MTRACE_LOG=y
|
||||
CONFIG_ENABLE_SMMU_S1_TRANSLATION=y
|
||||
CONFIG_FEATURE_ACTIVE_TOS=y
|
||||
CONFIG_FEATURE_ALIGN_STATS_FROM_DP=y
|
||||
CONFIG_FEATURE_BECN_STATS=y
|
||||
CONFIG_FEATURE_BSS_TRANSITION=y
|
||||
CONFIG_FEATURE_BUS_BANDWIDTH_MGR=y
|
||||
CONFIG_FEATURE_CLUB_LL_STATS_AND_GET_STATION=y
|
||||
CONFIG_FEATURE_COEX=y
|
||||
CONFIG_FEATURE_CONCURRENCY_MATRIX=y
|
||||
CONFIG_FEATURE_DELAYED_PEER_OBJ_DESTROY=y
|
||||
CONFIG_FEATURE_DENYLIST_MGR=y
|
||||
CONFIG_FEATURE_EPPING=y
|
||||
CONFIG_FEATURE_FORCE_WAKE=y
|
||||
CONFIG_FEATURE_FW_LOG_PARSING=y
|
||||
CONFIG_FEATURE_GPIO_CFG=y
|
||||
CONFIG_FEATURE_HAL_DELAYED_REG_WRITE=y
|
||||
CONFIG_FEATURE_HTC_CREDIT_HISTORY=y
|
||||
CONFIG_FEATURE_INTEROP_ISSUES_AP=y
|
||||
CONFIG_FEATURE_MEMDUMP_ENABLE=y
|
||||
CONFIG_FEATURE_MONITOR_MODE_SUPPORT=y
|
||||
CONFIG_FEATURE_MSCS=y
|
||||
CONFIG_FEATURE_NO_DBS_INTRABAND_MCC_SUPPORT=y
|
||||
CONFIG_FEATURE_OEM_DATA=y
|
||||
CONFIG_FEATURE_OTA_TEST=y
|
||||
CONFIG_FEATURE_P2P_LISTEN_OFFLOAD=y
|
||||
CONFIG_FEATURE_RADAR_HISTORY=y
|
||||
CONFIG_FEATURE_ROAM_DEBUG=y
|
||||
CONFIG_FEATURE_RSSI_MONITOR=y
|
||||
CONFIG_FEATURE_RX_LINKSPEED_ROAM_TRIGGER=y
|
||||
CONFIG_FEATURE_SAP_COND_CHAN_SWITCH=y
|
||||
CONFIG_FEATURE_SAR_LIMITS=y
|
||||
CONFIG_FEATURE_SET=y
|
||||
CONFIG_FEATURE_STATION_INFO=y
|
||||
CONFIG_FEATURE_STATS_EXT=y
|
||||
CONFIG_FEATURE_STATS_EXT_V2=y
|
||||
CONFIG_FEATURE_TSO=y
|
||||
CONFIG_FEATURE_TSO_STATS=y
|
||||
CONFIG_FEATURE_TX_POWER=y
|
||||
CONFIG_FEATURE_VDEV_OPS_WAKELOCK=y
|
||||
CONFIG_FEATURE_WLAN_LPHB=y
|
||||
CONFIG_FEATURE_WLAN_PRE_CAC=y
|
||||
CONFIG_FEATURE_WLAN_RA_FILTERING=y
|
||||
CONFIG_FEATURE_WLAN_SCAN_PNO=y
|
||||
CONFIG_FEATURE_WLAN_WAPI=y
|
||||
CONFIG_FIX_TXDMA_LIMITATION=y
|
||||
CONFIG_FOURTH_CONNECTION=y
|
||||
CONFIG_FIFTH_CONNECTION=y
|
||||
CONFIG_FW_THERMAL_THROTTLE=y
|
||||
CONFIG_GET_DRIVER_MODE=y
|
||||
CONFIG_GTK_OFFLOAD=y
|
||||
CONFIG_HAL_DISABLE_NON_BA_2K_JUMP_ERROR=y
|
||||
CONFIG_HANDLE_BC_EAP_TX_FRM=y
|
||||
CONFIG_HANDLE_RX_REROUTE_ERR=y
|
||||
CONFIG_HASTINGS_BT_WAR=y
|
||||
CONFIG_HDD_INIT_WITH_RTNL_LOCK=y
|
||||
CONFIG_HIF_PCI=y
|
||||
CONFIG_HIF_REG_WINDOW_SUPPORT=y
|
||||
CONFIG_HOST_OPCLASS=y
|
||||
CONFIG_HTT_PADDR64=y
|
||||
CONFIG_IPA_OFFLOAD=y
|
||||
CONFIG_IPA_OPT_WIFI_DP=y
|
||||
CONFIG_IPA_SET_RESET_TX_DB_PA=y
|
||||
CONFIG_KIWI_HEADERS_DEF=y
|
||||
CONFIG_LFR_SUBNET_DETECTION=y
|
||||
CONFIG_LINUX_QCMBR=y
|
||||
CONFIG_LITTLE_ENDIAN=y
|
||||
CONFIG_LL_DP_SUPPORT=y
|
||||
CONFIG_LTE_COEX=y
|
||||
CONFIG_MARK_ICMP_REQ_TO_FW=y
|
||||
CONFIG_MAX_ALLOC_PAGE_SIZE=y
|
||||
CONFIG_MCC_TO_SCC_SWITCH=y
|
||||
CONFIG_MON_ENABLE_DROP_FOR_MAC=y
|
||||
CONFIG_MON_ENABLE_DROP_FOR_NON_MON_PMAC=y
|
||||
CONFIG_MORE_TX_DESC=y
|
||||
CONFIG_MULTI_CLIENT_LL_SUPPORT=y
|
||||
CONFIG_NO_RX_PKT_HDR_TLV=y
|
||||
CONFIG_WORD_BASED_TLV=y
|
||||
CONFIG_DP_RX_BUFFER_OPTIMIZATION=y
|
||||
CONFIG_OBSS_PD=y
|
||||
CONFIG_OFDM_SCRAMBLER_SEED=y
|
||||
CONFIG_PCI_LINK_STATUS_SANITY=y
|
||||
CONFIG_PCIE_GEN_SWITCH=y
|
||||
CONFIG_PEER_PROTECTED_ACCESS=y
|
||||
CONFIG_PKTLOG_HAS_SPECIFIC_DATA=y
|
||||
CONFIG_PLD_PCIE_CNSS_FLAG=y
|
||||
CONFIG_PLD_PCIE_INIT_FLAG=y
|
||||
CONFIG_POWER_MANAGEMENT_OFFLOAD=y
|
||||
CONFIG_PTT_SOCK_SVC_ENABLE=y
|
||||
CONFIG_QCA_DFS_BW_PUNCTURE=y
|
||||
CONFIG_QCA_GET_TSF_VIA_REG=y
|
||||
CONFIG_QCA_MONITOR_PKT_SUPPORT=y
|
||||
CONFIG_QCA_SUPPORT_TX_MIN_RATES_FOR_SPECIAL_FRAMES=y
|
||||
CONFIG_QCA_SUPPORT_TX_THROTTLE=y
|
||||
CONFIG_QCA_WIFI_FTM=y
|
||||
CONFIG_QCA_WIFI_KIWI=y
|
||||
CONFIG_QCA_WIFI_MONITOR_MODE_NO_MSDU_START_TLV_SUPPORT=y
|
||||
CONFIG_QCA_WIFI_QCA8074=y
|
||||
CONFIG_QCA_WIFI_QCA8074_VP=y
|
||||
CONFIG_QCACLD_FEATURE_APF=y
|
||||
CONFIG_QCACLD_FEATURE_FW_STATE=y
|
||||
CONFIG_QCACLD_FEATURE_GAP_LL_PS_MODE=y
|
||||
CONFIG_QCACLD_FEATURE_GREEN_AP=y
|
||||
CONFIG_QCACLD_FEATURE_NAN=y
|
||||
CONFIG_QCACLD_RX_DESC_MULTI_PAGE_ALLOC=y
|
||||
CONFIG_QCACLD_WLAN_CONNECTIVITY_DIAG_EVENT=y
|
||||
CONFIG_QCACLD_WLAN_LFR3=y
|
||||
CONFIG_QCOM_ESE=y
|
||||
CONFIG_QCOM_LTE_COEX=y
|
||||
CONFIG_QCOM_TDLS=y
|
||||
CONFIG_QCOM_VOWIFI_11R=y
|
||||
CONFIG_QMI_SUPPORT=y
|
||||
CONFIG_REG_CLIENT=y
|
||||
CONFIG_REMOVE_PKT_LOG=y
|
||||
CONFIG_REO_DESC_DEFER_FREE=y
|
||||
CONFIG_RX_DEFRAG_DO_NOT_REINJECT=y
|
||||
CONFIG_RX_DESC_SANITY_WAR=y
|
||||
CONFIG_RX_FISA=y
|
||||
CONFIG_RX_HASH_DEBUG=y
|
||||
CONFIG_RX_OL=y
|
||||
CONFIG_RXDMA_ERR_PKT_DROP=y
|
||||
CONFIG_SAE_SINGLE_PMK=y
|
||||
CONFIG_SAP_AVOID_ACS_FREQ_LIST=y
|
||||
CONFIG_SAP_DHCP_FW_IND=y
|
||||
CONFIG_SAR_SAFETY_FEATURE=y
|
||||
CONFIG_SCALE_INCLUDES=y
|
||||
CONFIG_SERIALIZE_QUEUE_SETUP=y
|
||||
CONFIG_SHADOW_V3=y
|
||||
CONFIG_SMMU_S1_UNMAP=y
|
||||
CONFIG_SOFTAP_CHANNEL_RANGE=y
|
||||
CONFIG_SUPPORT_11AX=y
|
||||
CONFIG_SYSTEM_PM_CHECK=y
|
||||
CONFIG_TARGET_11D_SCAN=y
|
||||
CONFIG_TARGET_RAMDUMP_AFTER_KERNEL_PANIC=y
|
||||
CONFIG_THERMAL_STATS_SUPPORT=y
|
||||
CONFIG_TRACE_RECORD_FEATURE=y
|
||||
CONFIG_TSO_DEBUG_LOG_ENABLE=y
|
||||
CONFIG_TX_ADDR_INDEX_SEARCH=y
|
||||
CONFIG_TX_MULTI_TCL=y
|
||||
CONFIG_TX_MULTIQ_PER_AC=y
|
||||
CONFIG_TX_PER_PDEV_DESC_POOL=y
|
||||
CONFIG_TX_TID_OVERRIDE=y
|
||||
CONFIG_VERBOSE_DEBUG=y
|
||||
CONFIG_WAPI_BIG_ENDIAN=y
|
||||
CONFIG_WCNSS_MEM_PRE_ALLOC_MODULE=y
|
||||
CONFIG_WCNSS_MEM_PRE_ALLOC=y
|
||||
CONFIG_WDI_EVENT_ENABLE=y
|
||||
CONFIG_WDI3_IPA_OVER_GSI=y
|
||||
CONFIG_WIFI_MONITOR_SUPPORT=y
|
||||
CONFIG_WIFI_POS_CONVERGED=y
|
||||
CONFIG_WIFI_POS_PASN=y
|
||||
CONFIG_WINDOW_REG_PLD_LOCK_ENABLE=y
|
||||
CONFIG_WLAN_BCN_RECV_FEATURE=y
|
||||
CONFIG_WLAN_BMISS=y
|
||||
CONFIG_WLAN_CE_INTERRUPT_THRESHOLD_CONFIG=y
|
||||
CONFIG_WLAN_CFR_ENABLE=y
|
||||
CONFIG_WLAN_CLD_DEV_PM_QOS=y
|
||||
CONFIG_WLAN_CLD_PM_QOS=y
|
||||
CONFIG_WLAN_CONV_SPECTRAL_ENABLE=y
|
||||
CONFIG_WLAN_CUSTOM_DSCP_UP_MAP=y
|
||||
CONFIG_WLAN_DEBUG_CRASH_INJECT=y
|
||||
CONFIG_WLAN_DEBUG_LINK_VOTE=y
|
||||
CONFIG_WLAN_DEBUG_VERSION=y
|
||||
CONFIG_WLAN_DEBUGFS=y
|
||||
CONFIG_WLAN_DFS_MASTER_ENABLE=y
|
||||
CONFIG_WLAN_DFS_STATIC_MEM_ALLOC=y
|
||||
CONFIG_WLAN_DIAG_VERSION=y
|
||||
CONFIG_WLAN_DL_MODES=y
|
||||
CONFIG_WLAN_DP_DISABLE_TCL_CMD_CRED_SRNG=y
|
||||
CONFIG_WLAN_DP_DISABLE_TCL_STATUS_SRNG=y
|
||||
CONFIG_WLAN_DP_PENDING_MEM_FLUSH=y
|
||||
CONFIG_WLAN_DP_PER_RING_TYPE_CONFIG=y
|
||||
CONFIG_WLAN_DP_SRNG_USAGE_WM_TRACKING=y
|
||||
CONFIG_WLAN_DYNAMIC_CVM=y
|
||||
CONFIG_WLAN_ENABLE_SOCIAL_CHANNELS_5G_ONLY=y
|
||||
CONFIG_WLAN_ENH_CFR_ENABLE=y
|
||||
CONFIG_WLAN_FEATURE_11AX=y
|
||||
CONFIG_WLAN_FEATURE_11BE=y
|
||||
CONFIG_WLAN_FEATURE_11BE_MLO=y
|
||||
CONFIG_WLAN_HDD_MULTI_VDEV_SINGLE_NDEV=y
|
||||
CONFIG_WLAN_FEATURE_ACTION_OUI=y
|
||||
CONFIG_WLAN_FEATURE_BIG_DATA_STATS=y
|
||||
CONFIG_WLAN_FEATURE_CAL_FAILURE_TRIGGER=y
|
||||
CONFIG_WLAN_FEATURE_COAP=y
|
||||
CONFIG_WLAN_FEATURE_COEX_DBAM=y
|
||||
CONFIG_WLAN_FEATURE_DFS_OFFLOAD=y
|
||||
CONFIG_WLAN_FEATURE_DISA=y
|
||||
CONFIG_WLAN_FEATURE_DP_BUS_BANDWIDTH=y
|
||||
CONFIG_WLAN_FEATURE_DP_EVENT_HISTORY=y
|
||||
CONFIG_WLAN_FEATURE_DP_RX_THREADS=y
|
||||
CONFIG_WLAN_FEATURE_DYNAMIC_MAC_ADDR_UPDATE=y
|
||||
CONFIG_WLAN_FEATURE_ELNA=y
|
||||
CONFIG_WLAN_FEATURE_FILS=y
|
||||
CONFIG_WLAN_FEATURE_FIPS=y
|
||||
CONFIG_WLAN_FEATURE_GET_USABLE_CHAN_LIST=y
|
||||
CONFIG_WLAN_FEATURE_ICMP_OFFLOAD=y
|
||||
CONFIG_WLAN_FEATURE_IGMP_OFFLOAD=y
|
||||
CONFIG_WLAN_FEATURE_LINK_LAYER_STATS=y
|
||||
CONFIG_WLAN_FEATURE_LPSS=y
|
||||
CONFIG_WLAN_FEATURE_LRO_CTX_IN_CB=y
|
||||
CONFIG_WLAN_FEATURE_MBSSID=y
|
||||
CONFIG_WLAN_FEATURE_MCC_QUOTA=y
|
||||
CONFIG_WLAN_FEATURE_MDNS_OFFLOAD=y
|
||||
CONFIG_WLAN_FEATURE_MEDIUM_ASSESS=y
|
||||
CONFIG_WLAN_FEATURE_MIB_STATS=y
|
||||
CONFIG_WLAN_FEATURE_NEAR_FULL_IRQ=y
|
||||
CONFIG_WLAN_FEATURE_P2P_DEBUG=y
|
||||
CONFIG_WLAN_FEATURE_P2P_P2P_STA=y
|
||||
CONFIG_WLAN_FEATURE_PACKET_FILTERING=y
|
||||
CONFIG_WLAN_FEATURE_PEER_TXQ_FLUSH_CONF=y
|
||||
CONFIG_WLAN_FEATURE_ROAM_INFO_STATS=y
|
||||
CONFIG_WLAN_FEATURE_RX_BUFFER_POOL=y
|
||||
CONFIG_WLAN_FEATURE_RX_SOFTIRQ_TIME_LIMIT=y
|
||||
CONFIG_WLAN_FEATURE_SAE=y
|
||||
CONFIG_WLAN_FEATURE_SAP_ACS_OPTIMIZE=y
|
||||
CONFIG_WLAN_FEATURE_SARV1_TO_SARV2=y
|
||||
CONFIG_WLAN_FEATURE_SR=y
|
||||
CONFIG_WLAN_FEATURE_TWT=y
|
||||
CONFIG_WLAN_FEATURE_WMI_DIAG_OVER_CE7=y
|
||||
CONFIG_WLAN_FREQ_LIST=y
|
||||
CONFIG_WLAN_FW_OFFLOAD=y
|
||||
CONFIG_WLAN_GTX_BW_MASK=y
|
||||
CONFIG_WLAN_HANG_EVENT=y
|
||||
CONFIG_WLAN_LOG_DEBUG=y
|
||||
CONFIG_WLAN_LOG_ENTER=y
|
||||
CONFIG_WLAN_LOG_ERROR=y
|
||||
CONFIG_WLAN_LOG_EXIT=y
|
||||
CONFIG_WLAN_LOG_FATAL=y
|
||||
CONFIG_WLAN_LOG_INFO=y
|
||||
CONFIG_WLAN_LOG_WARN=y
|
||||
CONFIG_WLAN_LOGGING_SOCK_SVC=y
|
||||
CONFIG_WLAN_MWS_INFO_DEBUGFS=y
|
||||
CONFIG_WLAN_NAPI=y
|
||||
CONFIG_WLAN_NS_OFFLOAD=y
|
||||
CONFIG_WLAN_NUD_TRACKING=y
|
||||
CONFIG_WLAN_OFFLOAD_PACKETS=y
|
||||
CONFIG_WLAN_OPEN_P2P_INTERFACE=y
|
||||
CONFIG_WLAN_PDEV_VDEV_SEND_MULTI_PARAM=y
|
||||
CONFIG_WLAN_PMO_ENABLE=y
|
||||
CONFIG_WLAN_POLICY_MGR_ENABLE=y
|
||||
CONFIG_WLAN_POWER_DEBUG=y
|
||||
CONFIG_WLAN_REASSOC=y
|
||||
CONFIG_WLAN_RX_MON_PARSE_CMN_USER_INFO=y
|
||||
CONFIG_WLAN_SCAN_DISABLE=y
|
||||
CONFIG_WLAN_SKIP_BAR_UPDATE=y
|
||||
CONFIG_WLAN_SUPPORT_DATA_STALL=y
|
||||
CONFIG_WLAN_SYNC_TSF=y
|
||||
CONFIG_WLAN_SYNC_TSF_PLUS=y
|
||||
CONFIG_WLAN_SYNC_TSF_TIMER=y
|
||||
CONFIG_WLAN_SYSFS=y
|
||||
CONFIG_WLAN_SYSFS_CHANNEL=y
|
||||
CONFIG_WLAN_SYSFS_CONNECT_INFO=y
|
||||
CONFIG_WLAN_SYSFS_DCM=y
|
||||
CONFIG_WLAN_SYSFS_DFSNOL=y
|
||||
CONFIG_WLAN_SYSFS_DP_STATS=y
|
||||
CONFIG_WLAN_SYSFS_DP_TRACE=y
|
||||
CONFIG_WLAN_SYSFS_EHT_RATE=y
|
||||
CONFIG_WLAN_SYSFS_FW_MODE_CFG=y
|
||||
CONFIG_WLAN_SYSFS_HE_BSS_COLOR=y
|
||||
CONFIG_WLAN_SYSFS_LOG_BUFFER=y
|
||||
CONFIG_WLAN_SYSFS_MEM_STATS=y
|
||||
CONFIG_WLAN_SYSFS_MONITOR_MODE_CHANNEL=y
|
||||
CONFIG_WLAN_SYSFS_RADAR=y
|
||||
CONFIG_WLAN_SYSFS_RANGE_EXT=y
|
||||
CONFIG_WLAN_SYSFS_RTS_CTS=y
|
||||
CONFIG_WLAN_SYSFS_SCAN_CFG=y
|
||||
CONFIG_WLAN_SYSFS_STA_INFO=y
|
||||
CONFIG_WLAN_SYSFS_STATS=y
|
||||
CONFIG_WLAN_SYSFS_TDLS_PEERS=y
|
||||
CONFIG_WLAN_SYSFS_TEMPERATURE=y
|
||||
CONFIG_WLAN_SYSFS_TX_STBC=y
|
||||
CONFIG_WLAN_SYSFS_WLAN_DBG=y
|
||||
CONFIG_WLAN_SYSFS_BITRATES=y
|
||||
CONFIG_WLAN_SYSFS_RF_TEST_MODE=y
|
||||
CONFIG_WLAN_THERMAL_CFG=y
|
||||
CONFIG_WLAN_THERMAL_MULTI_CLIENT_SUPPORT=y
|
||||
CONFIG_WLAN_TRACEPOINTS=y
|
||||
CONFIG_WLAN_TSF_AUTO_REPORT=y
|
||||
CONFIG_WLAN_TSF_UPLINK_DELAY=y
|
||||
CONFIG_WLAN_TX_LATENCY_STATS=y
|
||||
CONFIG_WLAN_FEATURE_UL_JITTER=y
|
||||
CONFIG_WLAN_TWT_CONVERGED=y
|
||||
CONFIG_WLAN_TWT_SAP_PDEV_COUNT=y
|
||||
CONFIG_WLAN_TWT_SAP_STA_COUNT=y
|
||||
CONFIG_WLAN_TX_FLOW_CONTROL_V2=y
|
||||
CONFIG_WLAN_TXRX_FW_ST_RST=y
|
||||
CONFIG_WLAN_TXRX_FW_STATS=y
|
||||
CONFIG_WLAN_TXRX_STATS=y
|
||||
CONFIG_WLAN_UMAC_MLO_MAX_DEV=3
|
||||
CONFIG_WLAN_VENDOR_HANDOFF_CONTROL=y
|
||||
CONFIG_WLAN_WBUFF=y
|
||||
CONFIG_WLAN_WOW_ITO=y
|
||||
CONFIG_WLAN_WOWL_ADD_PTRN=y
|
||||
CONFIG_WLAN_WOWL_DEL_PTRN=y
|
||||
CONFIG_WMI_BCN_OFFLOAD=y
|
||||
CONFIG_WMI_CMD_STRINGS=y
|
||||
CONFIG_WMI_CONCURRENCY_SUPPORT=y
|
||||
CONFIG_WMI_DBR_SUPPORT=y
|
||||
CONFIG_WMI_INTERFACE_EVENT_LOGGING=y
|
||||
CONFIG_WMI_ROAM_SUPPORT=y
|
||||
CONFIG_WMI_SEND_RECV_QMI=y
|
||||
CONFIG_WMI_STA_SUPPORT=y
|
||||
CONFIG_CFG80211_EXTERNAL_AUTH_MLO_SUPPORT=y
|
||||
CONFIG_CFG80211_EXT_FEATURE_SECURE_NAN=y
|
||||
CONFIG_WLAN_CTRL_NAME="wlan"
|
||||
CONFIG_MULTI_IF_NAME="peach_v2"
|
||||
CONFIG_ENABLE_CE4_COMP_DISABLE_HTT_HTC_MISC_LIST=y
|
||||
CONFIG_WLAN_HOST_ARCH_ARM=y
|
||||
CONFIG_ARCH_MSM=y
|
||||
CONFIG_DP_TX_PACKET_INSPECT_FOR_ILP=y
|
||||
CONFIG_NUM_SOC_PERF_CLUSTER=2
|
||||
CONFIG_WLAN_OPEN_SOURCE=y
|
||||
CONFIG_QCA_WIFI_FTM_NL80211=y
|
||||
CONFIG_CFG80211_MLD_AP_STA_CONNECT_UPSTREAM_SUPPORT=y
|
||||
CONFIG_DP_MULTIPASS_SUPPORT=y
|
||||
CONFIG_WLAN_DP_VDEV_NO_SELF_PEER=y
|
||||
CONFIG_WLAN_FEATURE_AFFINITY_MGR=y
|
||||
CONFIG_WALT_GET_CPU_TAKEN_SUPPORT=y
|
||||
CONFIG_DP_MLO_LINK_STATS_SUPPORT=y
|
||||
CONFIG_WLAN_FEATURE_LL_LT_SAP=y
|
||||
CONFIG_WLAN_FEATURE_VDEV_DCS=y
|
||||
CONFIG_HIF_DEBUG=y
|
||||
CONFIG_WLAN_OBJMGR_DEBUG=y
|
||||
CONFIG_WLAN_OBJMGR_REF_ID_TRACE=y
|
||||
CONFIG_WLAN_WARN_ON_ASSERT=y
|
||||
CONFIG_WLAN_DP_FEATURE_DEFERRED_REO_QDESC_DESTROY=y
|
||||
CONFIG_PANIC_ON_BUG=y
|
||||
CONFIG_FEATURE_WLAN_CH_AVOID_EXT=y
|
||||
CONFIG_CNSS2_SSR_DRIVER_DUMP=y
|
||||
CONFIG_BUS_AUTO_SUSPEND=y
|
||||
CONFIG_CNSS_OUT_OF_TREE=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_RPS=y
|
||||
CONFIG_BCN_RATECODE_ENABLE=y
|
||||
CONFIG_4_BYTES_TLV_TAG=y
|
||||
CONFIG_WLAN_FEATURE_MARK_FIRST_WAKEUP_PACKET=y
|
||||
CONFIG_WLAN_MULTI_CHIP_SUPPORT=y
|
||||
CONFIG_FEATURE_SMEM_MAILBOX=y
|
||||
CONFIG_QMI_COMPONENT_ENABLE=y
|
||||
CONFIG_QMI_WFDS=y
|
||||
CONFIG_WLAN_DP_FEATURE_STC=y
|
||||
CONFIG_WLAN_FEATURE_EMLSR=y
|
||||
CONFIG_FEATURE_DIRECT_LINK=y
|
||||
CONFIG_DP_SWLM=y
|
||||
CONFIG_FEATURE_EPM=y
|
||||
CONFIG_WLAN_FEATURE_LATENCY_SENSITIVE_REO=y
|
||||
CONFIG_IPA_OPT_WIFI_DP_CTRL=y
|
@ -5566,4 +5566,29 @@ hdd_lpc_is_work_scheduled(struct hdd_context *hdd_ctx)
|
||||
*/
|
||||
bool hdd_allow_new_intf(struct hdd_context *hdd_ctx,
|
||||
enum QDF_OPMODE mode);
|
||||
|
||||
#ifdef WLAN_FEATURE_11BE_MLO_ADV_FEATURE
|
||||
/**
|
||||
* wlan_hdd_is_link_switch_in_progress() - Function to check if there is any
|
||||
* link switch in progress
|
||||
* @link_info: Link info pointer in HDD adapter
|
||||
*
|
||||
* Return: true if link switch in progress, false otherwise
|
||||
*/
|
||||
bool wlan_hdd_is_link_switch_in_progress(struct wlan_hdd_link_info *link_info);
|
||||
#else
|
||||
static inline bool
|
||||
wlan_hdd_is_link_switch_in_progress(struct wlan_hdd_link_info *link_info)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* wlan_hdd_is_mlo_connection() - Check if connection is legacy or mlo
|
||||
* @link_info: Link info pointer in HDD adapter
|
||||
*
|
||||
* Return: True if MLO connection, else False
|
||||
*/
|
||||
bool wlan_hdd_is_mlo_connection(struct wlan_hdd_link_info *link_info);
|
||||
#endif /* end #if !defined(WLAN_HDD_MAIN_H) */
|
||||
|
@ -19568,7 +19568,13 @@ hdd_send_usable_channel(struct hdd_context *hdd_ctx,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
skb_len += NLMSG_HDRLEN;
|
||||
/**
|
||||
* As each nesting occupies NLMSG_HDRLEN size in the skb, add
|
||||
* NLMSG_HDRLEN worth space for each nesting.
|
||||
*/
|
||||
skb_len += NLMSG_HDRLEN * (count + 1);
|
||||
|
||||
|
||||
skb = wlan_cfg80211_vendor_cmd_alloc_reply_skb(hdd_ctx->wiphy, skb_len);
|
||||
if (!skb) {
|
||||
hdd_info("wlan_cfg80211_vendor_cmd_alloc_reply_skb failed");
|
||||
|
@ -3508,7 +3508,7 @@ void hdd_get_roam_scan_ch_cb(hdd_handle_t hdd_handle,
|
||||
osif_request_put(request);
|
||||
}
|
||||
|
||||
static uint32_t
|
||||
static int
|
||||
hdd_get_roam_chan_from_fw(struct hdd_adapter *adapter, uint32_t *chan_list,
|
||||
uint8_t *num_channels)
|
||||
{
|
||||
@ -3578,7 +3578,7 @@ hdd_get_roam_scan_freq(struct hdd_adapter *adapter, mac_handle_t mac_handle,
|
||||
if (is_roam_ch_from_fw_supported(adapter->hdd_ctx)) {
|
||||
ret = hdd_get_roam_chan_from_fw(adapter, chan_list,
|
||||
num_channels);
|
||||
if (ret != QDF_STATUS_SUCCESS) {
|
||||
if (ret) {
|
||||
hdd_err("failed to get roam scan channel list from FW");
|
||||
return -EFAULT;
|
||||
}
|
||||
@ -6681,12 +6681,16 @@ static bool check_disable_channels(struct hdd_context *hdd_ctx,
|
||||
!hdd_ctx->original_channels->channel_info)
|
||||
return false;
|
||||
|
||||
qdf_mutex_acquire(&hdd_ctx->cache_channel_lock);
|
||||
num_channels = hdd_ctx->original_channels->num_channels;
|
||||
for (i = 0; i < num_channels; i++) {
|
||||
if (operating_freq ==
|
||||
hdd_ctx->original_channels->channel_info[i].freq)
|
||||
hdd_ctx->original_channels->channel_info[i].freq) {
|
||||
qdf_mutex_release(&hdd_ctx->cache_channel_lock);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
qdf_mutex_release(&hdd_ctx->cache_channel_lock);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -3022,10 +3022,8 @@ int hdd_update_tgt_cfg(hdd_handle_t hdd_handle, struct wma_tgt_cfg *cfg)
|
||||
|
||||
status = ucfg_mlme_cfg_get_vht_tx_bfee_ant_supp(hdd_ctx->psoc,
|
||||
&value);
|
||||
if (QDF_IS_STATUS_ERROR(status)) {
|
||||
status = false;
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
hdd_err("set tx_bfee_ant_supp failed");
|
||||
}
|
||||
|
||||
status = ucfg_mlme_set_restricted_80p80_bw_supp(hdd_ctx->psoc,
|
||||
cfg->restricted_80p80_bw_supp);
|
||||
@ -3036,10 +3034,8 @@ int hdd_update_tgt_cfg(hdd_handle_t hdd_handle, struct wma_tgt_cfg *cfg)
|
||||
!cfg->tx_bfee_8ss_enabled) {
|
||||
status = ucfg_mlme_cfg_set_vht_tx_bfee_ant_supp(hdd_ctx->psoc,
|
||||
MLME_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_FW_DEF);
|
||||
if (QDF_IS_STATUS_ERROR(status)) {
|
||||
status = false;
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
hdd_err("set tx_bfee_ant_supp failed");
|
||||
}
|
||||
}
|
||||
|
||||
hdd_update_tid_to_link_supported(hdd_ctx, &cfg->services);
|
||||
@ -6407,7 +6403,7 @@ hdd_set_derived_multicast_list(struct wlan_objmgr_psoc *psoc,
|
||||
struct pmo_mc_addr_list_params *mc_list_request,
|
||||
int *mc_count)
|
||||
{
|
||||
int i = 0, j = 0, list_count = *mc_count;
|
||||
uint8_t i = 0, j = 0, list_count = *mc_count;
|
||||
struct qdf_mac_addr *peer_mc_addr_list = NULL;
|
||||
uint8_t driver_mc_cnt = 0;
|
||||
uint32_t max_ndp_sessions = 0;
|
||||
@ -6423,7 +6419,8 @@ hdd_set_derived_multicast_list(struct wlan_objmgr_psoc *psoc,
|
||||
&peer_mc_addr_list[j]))
|
||||
break;
|
||||
}
|
||||
if (i == list_count) {
|
||||
if (i == list_count &&
|
||||
(list_count + driver_mc_cnt < PMO_MAX_MC_ADDR_LIST)) {
|
||||
qdf_mem_copy(
|
||||
&(mc_list_request->mc_addr[list_count +
|
||||
driver_mc_cnt].bytes),
|
||||
@ -22109,6 +22106,57 @@ int hdd_we_set_ch_width(struct wlan_hdd_link_info *link_info, int ch_width)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
#ifdef WLAN_FEATURE_11BE_MLO_ADV_FEATURE
|
||||
bool
|
||||
wlan_hdd_is_link_switch_in_progress(struct wlan_hdd_link_info *link_info)
|
||||
{
|
||||
struct wlan_objmgr_vdev *vdev;
|
||||
bool ret = false;
|
||||
|
||||
if (!link_info) {
|
||||
hdd_err_rl("Invalid link info");
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (!wlan_hdd_is_mlo_connection(link_info))
|
||||
return ret;
|
||||
|
||||
vdev = hdd_objmgr_get_vdev_by_user(link_info, WLAN_OSIF_STATS_ID);
|
||||
if (!vdev) {
|
||||
hdd_err("invalid vdev");
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = mlo_mgr_is_link_switch_in_progress(vdev);
|
||||
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_STATS_ID);
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
|
||||
bool wlan_hdd_is_mlo_connection(struct wlan_hdd_link_info *link_info)
|
||||
{
|
||||
struct wlan_objmgr_vdev *vdev;
|
||||
bool ret = false;
|
||||
|
||||
if (!link_info) {
|
||||
hdd_err("Invalid link_info");
|
||||
return ret;
|
||||
}
|
||||
|
||||
vdev = hdd_objmgr_get_vdev_by_user(link_info, WLAN_OSIF_STATS_ID);
|
||||
if (!vdev) {
|
||||
hdd_err("invalid vdev");
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (wlan_vdev_mlme_is_mlo_vdev(vdev))
|
||||
ret = true;
|
||||
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_STATS_ID);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Register the module init/exit functions */
|
||||
module_init(hdd_module_init);
|
||||
module_exit(hdd_module_exit);
|
||||
|
@ -1464,7 +1464,7 @@ static uint32_t set_first_connection_operating_channel(
|
||||
oper_chan_freq = hdd_get_operating_chan_freq(hdd_ctx, dev_mode);
|
||||
if (!oper_chan_freq) {
|
||||
hdd_err(" First adapter operating channel is invalid");
|
||||
return -EINVAL;
|
||||
return set_value;
|
||||
}
|
||||
operating_channel = wlan_reg_freq_to_chan(hdd_ctx->pdev,
|
||||
oper_chan_freq);
|
||||
@ -1504,9 +1504,9 @@ static uint32_t set_second_connection_operating_channel(
|
||||
policy_mgr_get_mcc_operating_channel(
|
||||
hdd_ctx->psoc, vdev_id));
|
||||
|
||||
if (operating_channel == 0) {
|
||||
if (!operating_channel) {
|
||||
hdd_err("Second adapter operating channel is invalid");
|
||||
return -EINVAL;
|
||||
return set_value;
|
||||
}
|
||||
|
||||
hdd_info("Second connection channel No.:%d and quota:%dms",
|
||||
|
@ -1680,6 +1680,11 @@ static void hdd_country_change_update_sta(struct hdd_context *hdd_ctx)
|
||||
* continue to next statement
|
||||
*/
|
||||
case QDF_STA_MODE:
|
||||
hdd_debug("Update vdev %d CAP IE", link_info->vdev_id);
|
||||
sme_set_vdev_ies_per_band(hdd_ctx->mac_handle,
|
||||
link_info->vdev_id,
|
||||
QDF_STA_MODE);
|
||||
|
||||
sta_ctx =
|
||||
WLAN_HDD_GET_STATION_CTX_PTR(link_info);
|
||||
new_phy_mode = wlan_reg_get_max_phymode(pdev,
|
||||
@ -1718,9 +1723,6 @@ static void hdd_country_change_update_sta(struct hdd_context *hdd_ctx)
|
||||
pdev,
|
||||
link_info->vdev_id);
|
||||
}
|
||||
sme_set_vdev_ies_per_band(hdd_ctx->mac_handle,
|
||||
link_info->vdev_id,
|
||||
QDF_STA_MODE);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -465,35 +465,6 @@ int wlan_hdd_qmi_put_suspend(void)
|
||||
}
|
||||
#endif /* end if of WLAN_FEATURE_WMI_SEND_RECV_QMI */
|
||||
|
||||
/*
|
||||
* wlan_hdd_is_mlo_connection() - Check if connection is legacy or mlo
|
||||
* @link_info: Link info pointer in HDD adapter
|
||||
*
|
||||
* Return: True if MLO connection, else False
|
||||
*/
|
||||
static bool wlan_hdd_is_mlo_connection(struct wlan_hdd_link_info *link_info)
|
||||
{
|
||||
struct wlan_objmgr_vdev *vdev;
|
||||
bool ret = false;
|
||||
|
||||
if (!link_info) {
|
||||
hdd_err("Invalid link_info");
|
||||
return ret;
|
||||
}
|
||||
|
||||
vdev = hdd_objmgr_get_vdev_by_user(link_info, WLAN_OSIF_STATS_ID);
|
||||
if (!vdev) {
|
||||
hdd_err("invalid vdev");
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (wlan_vdev_mlme_is_mlo_vdev(vdev))
|
||||
ret = true;
|
||||
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_STATS_ID);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static struct wlan_hdd_link_info *
|
||||
hdd_get_link_info_by_bssid(struct hdd_context *hdd_ctx, const uint8_t *bssid)
|
||||
{
|
||||
@ -570,40 +541,6 @@ wlan_hdd_get_bss_peer_mld_mac(struct wlan_hdd_link_info *link_info,
|
||||
return status;
|
||||
}
|
||||
|
||||
#ifdef WLAN_FEATURE_11BE_MLO_ADV_FEATURE
|
||||
static bool
|
||||
wlan_hdd_is_link_switch_in_progress(struct wlan_hdd_link_info *link_info)
|
||||
{
|
||||
struct wlan_objmgr_vdev *vdev;
|
||||
bool ret = false;
|
||||
|
||||
if (!link_info) {
|
||||
hdd_err_rl("Invalid link info");
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (!wlan_hdd_is_mlo_connection(link_info))
|
||||
return ret;
|
||||
|
||||
vdev = hdd_objmgr_get_vdev_by_user(link_info, WLAN_OSIF_STATS_ID);
|
||||
if (!vdev) {
|
||||
hdd_err("invalid vdev");
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = mlo_mgr_is_link_switch_in_progress(vdev);
|
||||
|
||||
hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_STATS_ID);
|
||||
return ret;
|
||||
}
|
||||
#else
|
||||
static inline bool
|
||||
wlan_hdd_is_link_switch_in_progress(struct wlan_hdd_link_info *link_info)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
#endif /* WLAN_FEATURE_11BE_MLO_ADV_FEATURE */
|
||||
|
||||
/**
|
||||
* wlan_hdd_copy_sinfo_to_link_info() - Copy sinfo to link_info
|
||||
* @link_info: Pointer to the hdd link info
|
||||
@ -766,12 +703,6 @@ wlan_hdd_get_bss_peer_mld_mac(struct wlan_hdd_link_info *link_info,
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
static inline bool
|
||||
wlan_hdd_is_link_switch_in_progress(struct wlan_hdd_link_info *link_info)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline void
|
||||
wlan_hdd_copy_sinfo_to_link_info(struct wlan_hdd_link_info *link_info,
|
||||
struct station_info *sinfo)
|
||||
|
@ -194,6 +194,7 @@ static bool wlan_hdd_is_tdls_allowed(struct hdd_context *hdd_ctx,
|
||||
struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
bool tdls_support;
|
||||
struct wlan_hdd_link_info *link_info;
|
||||
|
||||
if ((cfg_tdls_get_support_enable(hdd_ctx->psoc, &tdls_support) ==
|
||||
QDF_STATUS_SUCCESS) && !tdls_support) {
|
||||
@ -222,6 +223,13 @@ static bool wlan_hdd_is_tdls_allowed(struct hdd_context *hdd_ctx,
|
||||
return false;
|
||||
}
|
||||
|
||||
link_info = hdd_get_link_info_by_vdev(hdd_ctx, wlan_vdev_get_id(vdev));
|
||||
if (wlan_hdd_is_link_switch_in_progress(link_info)) {
|
||||
hdd_debug("vdev:%d Link switch in progress",
|
||||
wlan_vdev_get_id(vdev));
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -32,9 +32,9 @@
|
||||
#define QWLAN_VERSION_MAJOR 5
|
||||
#define QWLAN_VERSION_MINOR 2
|
||||
#define QWLAN_VERSION_PATCH 1
|
||||
#define QWLAN_VERSION_EXTRA "J"
|
||||
#define QWLAN_VERSION_BUILD 92
|
||||
#define QWLAN_VERSION_EXTRA "C"
|
||||
#define QWLAN_VERSION_BUILD 93
|
||||
|
||||
#define QWLAN_VERSIONSTR "5.2.1.92J"
|
||||
#define QWLAN_VERSIONSTR "5.2.1.93C"
|
||||
|
||||
#endif /* QWLAN_VERSION_H */
|
||||
|
@ -804,41 +804,32 @@ struct bss_description {
|
||||
/* offset of the ieFields from bssId. */
|
||||
uint16_t length;
|
||||
tSirMacAddr bssId;
|
||||
unsigned long scansystimensec;
|
||||
uint32_t timeStamp[2];
|
||||
uint16_t beaconInterval;
|
||||
uint16_t capabilityInfo;
|
||||
tSirNwType nwType; /* Indicates 11a/b/g */
|
||||
int8_t rssi;
|
||||
int8_t rssi_raw;
|
||||
int8_t sinr;
|
||||
/* channel frequency what peer sent in beacon/probersp. */
|
||||
uint32_t chan_freq;
|
||||
/* Based on system time, not a relative time. */
|
||||
uint64_t received_time;
|
||||
uint32_t parentTSF;
|
||||
uint32_t startTSF[2];
|
||||
uint8_t mdiePresent;
|
||||
/* MDIE for 11r, picked from the beacons */
|
||||
uint8_t mdie[SIR_MDIE_SIZE];
|
||||
#ifdef FEATURE_WLAN_ESE
|
||||
uint16_t QBSSLoad_present;
|
||||
uint16_t QBSSLoad_avail;
|
||||
#endif
|
||||
/* whether it is from a probe rsp */
|
||||
uint8_t fProbeRsp;
|
||||
tSirMacSeqCtl seq_ctrl;
|
||||
uint32_t tsf_delta;
|
||||
struct scan_mbssid_info mbssid_info;
|
||||
#ifdef WLAN_FEATURE_FILS_SK
|
||||
struct fils_ind_elements fils_info_element;
|
||||
#endif
|
||||
uint32_t assoc_disallowed;
|
||||
uint32_t adaptive_11r_ap;
|
||||
uint32_t mbo_oce_enabled_ap;
|
||||
#if defined(WLAN_SAE_SINGLE_PMK) && defined(WLAN_FEATURE_ROAM_OFFLOAD)
|
||||
uint32_t is_single_pmk;
|
||||
#endif
|
||||
uint32_t is_ml_ap;
|
||||
/* Please keep the structure 4 bytes aligned above the ieFields */
|
||||
QDF_FLEX_ARRAY(uint32_t, ieFields);
|
||||
};
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2012-2020 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@ -122,6 +122,52 @@ tpDphHashNode dph_lookup_hash_entry(struct mac_context *mac, uint8_t staAddr[],
|
||||
return ptr;
|
||||
}
|
||||
|
||||
#ifdef WLAN_FEATURE_11BE_MLO
|
||||
/* --------------------------------------------------------------------- */
|
||||
/**
|
||||
* dph_lookup_hash_entry_by_mld_addr
|
||||
*
|
||||
* FUNCTION:
|
||||
* Look up an entry in hash table
|
||||
*
|
||||
* LOGIC:
|
||||
*
|
||||
* ASSUMPTIONS:
|
||||
*
|
||||
* NOTE:
|
||||
*
|
||||
* @param mld_addr MLD MAC address of the station
|
||||
* @param pStaId pointer to the Station ID assigned to the station
|
||||
* @return pointer to STA hash entry if lookup was a success \n
|
||||
* NULL if lookup was a failure
|
||||
*/
|
||||
|
||||
tpDphHashNode dph_lookup_hash_entry_by_mld_addr(
|
||||
struct mac_context *mac,
|
||||
uint8_t mld_addr[],
|
||||
uint16_t *pAssocId,
|
||||
struct dph_hash_table *hash_table)
|
||||
{
|
||||
tpDphHashNode ptr = NULL;
|
||||
uint16_t i = 0;
|
||||
|
||||
if (!hash_table->pHashTable) {
|
||||
pe_err("pHashTable is NULL");
|
||||
return ptr;
|
||||
}
|
||||
|
||||
for (i = 0; i < hash_table->size; i++) {
|
||||
for (ptr = hash_table->pHashTable[i]; ptr; ptr = ptr->next) {
|
||||
if (dph_compare_mac_addr(mld_addr, ptr->mld_addr)) {
|
||||
*pAssocId = ptr->assocId;
|
||||
return ptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
return ptr;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* --------------------------------------------------------------------- */
|
||||
/**
|
||||
* dph_get_hash_entry
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2011-2015, 2017-2019 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
* above copyright notice and this permission notice appear in all
|
||||
@ -58,6 +58,24 @@ tpDphHashNode dph_lookup_hash_entry(struct mac_context *mac, uint8_t staAddr[],
|
||||
uint16_t *pStaId,
|
||||
struct dph_hash_table *hash_table);
|
||||
|
||||
#ifdef WLAN_FEATURE_11BE_MLO
|
||||
tpDphHashNode dph_lookup_hash_entry_by_mld_addr(
|
||||
struct mac_context *mac,
|
||||
uint8_t staAddr[],
|
||||
uint16_t *pStaId,
|
||||
struct dph_hash_table *hash_table);
|
||||
#else
|
||||
static inline
|
||||
tpDphHashNode dph_lookup_hash_entry_by_mld_addr(
|
||||
struct mac_context *mac,
|
||||
uint8_t staAddr[],
|
||||
uint16_t *pStaId,
|
||||
struct dph_hash_table *hash_table)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Get a pointer to the hash node */
|
||||
tpDphHashNode dph_get_hash_entry(struct mac_context *mac, uint16_t staId,
|
||||
struct dph_hash_table *hash_table);
|
||||
|
@ -564,6 +564,20 @@ static inline void lim_nan_register_callbacks(struct mac_context *mac_ctx)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef FEATURE_WLAN_TDLS
|
||||
static void lim_register_tdls_callbacks(struct mac_context *mac_ctx)
|
||||
{
|
||||
struct tdls_callbacks tdls_cb = {0};
|
||||
|
||||
tdls_cb.delete_all_tdls_peers = lim_delete_all_tdls_peers;
|
||||
|
||||
wlan_tdls_register_lim_callbacks(mac_ctx->psoc, &tdls_cb);
|
||||
}
|
||||
#else
|
||||
static inline void lim_register_tdls_callbacks(struct mac_context *mac_ctx)
|
||||
{}
|
||||
#endif
|
||||
|
||||
void lim_stop_pmfcomeback_timer(struct pe_session *session)
|
||||
{
|
||||
if (session->opmode != QDF_STA_MODE)
|
||||
@ -860,6 +874,7 @@ QDF_STATUS pe_open(struct mac_context *mac, struct cds_config_info *cds_cfg)
|
||||
lim_register_debug_callback();
|
||||
lim_nan_register_callbacks(mac);
|
||||
p2p_register_callbacks(mac);
|
||||
lim_register_tdls_callbacks(mac);
|
||||
lim_register_scan_mbssid_callback(mac);
|
||||
lim_register_sap_bcn_callback(mac);
|
||||
wlan_reg_register_ctry_change_callback(
|
||||
@ -2252,8 +2267,6 @@ lim_roam_fill_bss_descr(struct mac_context *mac,
|
||||
roam_synch_ind->is_link_beacon :
|
||||
roam_synch_ind->is_beacon);
|
||||
bss_desc_ptr->rssi = roam_synch_ind->rssi;
|
||||
/* Copy Timestamp */
|
||||
bss_desc_ptr->scansystimensec = qdf_get_monotonic_boottime_ns();
|
||||
|
||||
if (is_multi_link_roam(roam_synch_ind)) {
|
||||
bss_desc_ptr->chan_freq =
|
||||
@ -2280,7 +2293,6 @@ lim_roam_fill_bss_descr(struct mac_context *mac,
|
||||
SIR_MAC_MGMT_FRAME,
|
||||
parsed_frm_ptr);
|
||||
|
||||
bss_desc_ptr->sinr = 0;
|
||||
bss_desc_ptr->beaconInterval = parsed_frm_ptr->beaconInterval;
|
||||
bss_desc_ptr->timeStamp[0] = parsed_frm_ptr->timeStamp[0];
|
||||
bss_desc_ptr->timeStamp[1] = parsed_frm_ptr->timeStamp[1];
|
||||
@ -2291,12 +2303,6 @@ lim_roam_fill_bss_descr(struct mac_context *mac,
|
||||
(uint8_t *)&bssid.bytes,
|
||||
sizeof(tSirMacAddr));
|
||||
|
||||
qdf_mem_copy((uint8_t *)&bss_desc_ptr->seq_ctrl,
|
||||
(uint8_t *)&mac_hdr->seqControl,
|
||||
sizeof(tSirMacSeqCtl));
|
||||
|
||||
bss_desc_ptr->received_time =
|
||||
(uint64_t)qdf_mc_timer_get_system_time();
|
||||
if (parsed_frm_ptr->mdiePresent) {
|
||||
bss_desc_ptr->mdiePresent = parsed_frm_ptr->mdiePresent;
|
||||
qdf_mem_copy((uint8_t *)bss_desc_ptr->mdie,
|
||||
|
@ -492,6 +492,7 @@ lim_cleanup_rx_path(struct mac_context *mac, tpDphHashNode sta,
|
||||
* lim_send_del_sta_cnf() - Send Del sta confirmation
|
||||
* @mac: Pointer to Global MAC structure
|
||||
* @sta_dsaddr: sta ds address
|
||||
* @sta_mld_addr: sta mld address
|
||||
* @staDsAssocId: sta ds association id
|
||||
* @mlmStaContext: MLM station context
|
||||
* @status_code: Status code
|
||||
@ -503,6 +504,7 @@ lim_cleanup_rx_path(struct mac_context *mac, tpDphHashNode sta,
|
||||
*/
|
||||
void
|
||||
lim_send_del_sta_cnf(struct mac_context *mac, struct qdf_mac_addr sta_dsaddr,
|
||||
struct qdf_mac_addr sta_mld_addr,
|
||||
uint16_t staDsAssocId,
|
||||
struct lim_sta_context mlmStaContext,
|
||||
tSirResultCodes status_code, struct pe_session *pe_session)
|
||||
@ -633,6 +635,9 @@ lim_send_del_sta_cnf(struct mac_context *mac, struct qdf_mac_addr sta_dsaddr,
|
||||
|
||||
qdf_mem_copy((uint8_t *) &mlmDisassocCnf.peerMacAddr,
|
||||
(uint8_t *) sta_dsaddr.bytes, QDF_MAC_ADDR_SIZE);
|
||||
qdf_mem_copy((uint8_t *)&mlmDisassocCnf.peerMldAddr,
|
||||
(uint8_t *)sta_mld_addr.bytes, QDF_MAC_ADDR_SIZE);
|
||||
|
||||
mlmDisassocCnf.resultCode = status_code;
|
||||
mlmDisassocCnf.disassocTrigger = eLIM_DUPLICATE_ENTRY;
|
||||
/* Update PE session Id */
|
||||
@ -4508,6 +4513,20 @@ void lim_prepare_and_send_del_all_sta_cnf(struct mac_context *mac,
|
||||
(uint32_t *)&mlm_deauth);
|
||||
}
|
||||
|
||||
#ifdef WLAN_FEATURE_11BE_MLO
|
||||
static void lim_copy_mld_mac_addr(uint8_t *sta_mld_addr,
|
||||
tpDphHashNode sta)
|
||||
{
|
||||
qdf_mem_copy(sta_mld_addr, sta->mld_addr, QDF_MAC_ADDR_SIZE);
|
||||
}
|
||||
#else
|
||||
static inline
|
||||
void lim_copy_mld_mac_addr(uint8_t *sta_mld_addr,
|
||||
tpDphHashNode sta)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* lim_prepare_and_send_del_sta_cnf() - prepares and send del sta cnf
|
||||
*
|
||||
@ -4528,6 +4547,7 @@ lim_prepare_and_send_del_sta_cnf(struct mac_context *mac, tpDphHashNode sta,
|
||||
{
|
||||
uint16_t staDsAssocId = 0;
|
||||
struct qdf_mac_addr sta_dsaddr;
|
||||
struct qdf_mac_addr sta_mld_addr = QDF_MAC_ADDR_ZERO_INIT;
|
||||
struct lim_sta_context mlmStaContext;
|
||||
bool mlo_conn = false;
|
||||
|
||||
@ -4539,6 +4559,7 @@ lim_prepare_and_send_del_sta_cnf(struct mac_context *mac, tpDphHashNode sta,
|
||||
staDsAssocId = sta->assocId;
|
||||
qdf_mem_copy((uint8_t *) sta_dsaddr.bytes,
|
||||
sta->staAddr, QDF_MAC_ADDR_SIZE);
|
||||
lim_copy_mld_mac_addr(sta_mld_addr.bytes, sta);
|
||||
|
||||
mlmStaContext = sta->mlmStaContext;
|
||||
|
||||
@ -4561,7 +4582,8 @@ lim_prepare_and_send_del_sta_cnf(struct mac_context *mac, tpDphHashNode sta,
|
||||
pe_session->limMlmState));
|
||||
}
|
||||
|
||||
lim_send_del_sta_cnf(mac, sta_dsaddr, staDsAssocId, mlmStaContext,
|
||||
lim_send_del_sta_cnf(mac, sta_dsaddr, sta_mld_addr, staDsAssocId,
|
||||
mlmStaContext,
|
||||
status_code, pe_session);
|
||||
}
|
||||
|
||||
@ -4792,3 +4814,65 @@ void lim_extract_ies_from_deauth_disassoc(struct pe_session *session,
|
||||
|
||||
mlme_set_peer_disconnect_ies(session->vdev, &ie);
|
||||
}
|
||||
|
||||
#ifdef WLAN_FEATURE_11BE_MLO
|
||||
static void lim_get_sta_mld_log(tpDphHashNode sta_ds, tSirMacAddr mld_mac,
|
||||
char *mld_log_str)
|
||||
{
|
||||
if (!qdf_is_macaddr_zero((struct qdf_mac_addr *)mld_mac))
|
||||
qdf_scnprintf(mld_log_str, MAC_ADDR_DUMP_LEN,
|
||||
" SA mld: " QDF_MAC_ADDR_FMT,
|
||||
QDF_MAC_ADDR_REF(mld_mac));
|
||||
|
||||
if (!qdf_is_macaddr_zero((struct qdf_mac_addr *)
|
||||
sta_ds->mld_addr))
|
||||
qdf_scnprintf(mld_log_str, MAC_ADDR_DUMP_LEN,
|
||||
" STA DS mld: " QDF_MAC_ADDR_FMT,
|
||||
QDF_MAC_ADDR_REF(sta_ds->mld_addr));
|
||||
}
|
||||
#else
|
||||
static inline
|
||||
void lim_get_sta_mld_log(tpDphHashNode sta_ds, tSirMacAddr mld_mac,
|
||||
char *mld_log_str)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
tpDphHashNode lim_get_sta_ds(struct mac_context *mac_ctx,
|
||||
tSirMacAddr sa, tSirMacAddr mld_mac,
|
||||
uint16_t *assoc_id,
|
||||
struct pe_session *session)
|
||||
{
|
||||
tpDphHashNode sta_ds = NULL;
|
||||
char mld_log_str[52] = {0};
|
||||
|
||||
/* Check if STA present with SA address */
|
||||
sta_ds = dph_lookup_hash_entry(
|
||||
mac_ctx, sa,
|
||||
assoc_id,
|
||||
&session->dph.dphHashTable);
|
||||
/* Check if STA present with MLD address,
|
||||
* this can happen if SAP is non ML,
|
||||
* so the MLD address will be used as address for connected STA
|
||||
*/
|
||||
if (!sta_ds && !qdf_is_macaddr_zero((struct qdf_mac_addr *)mld_mac))
|
||||
sta_ds = dph_lookup_hash_entry(
|
||||
mac_ctx, mld_mac,
|
||||
assoc_id,
|
||||
&session->dph.dphHashTable);
|
||||
/* Check if STA present with same MLD address as current SA,
|
||||
* this can happen if SAP is ML, so the MLD address will be
|
||||
* used as SA address for connected STA
|
||||
*/
|
||||
if (!sta_ds && wlan_vdev_mlme_is_mlo_vdev(session->vdev))
|
||||
sta_ds = dph_lookup_hash_entry_by_mld_addr(
|
||||
mac_ctx, sa,
|
||||
assoc_id,
|
||||
&session->dph.dphHashTable);
|
||||
if (sta_ds) {
|
||||
lim_get_sta_mld_log(sta_ds, mld_mac, mld_log_str);
|
||||
pe_debug("Vdev %d STA found for " QDF_MAC_ADDR_FMT "%s",
|
||||
session->vdev_id, QDF_MAC_ADDR_REF(sa), mld_log_str);
|
||||
}
|
||||
return sta_ds;
|
||||
}
|
||||
|
@ -151,6 +151,20 @@ QDF_STATUS lim_del_peer_info(struct mac_context *mac,
|
||||
*/
|
||||
QDF_STATUS lim_del_sta_all(struct mac_context *mac,
|
||||
struct pe_session *pe_session);
|
||||
/**
|
||||
* lim_get_sta_ds() -get sta ds
|
||||
* @mac_ctx: mac ctx
|
||||
* @sa: source addr
|
||||
* @mld_mac: mld mac
|
||||
* @assoc_id: assoc id
|
||||
* @session: pe session ctx
|
||||
*
|
||||
* @Return: sta ds in case of success else NULL
|
||||
*/
|
||||
tpDphHashNode lim_get_sta_ds(struct mac_context *mac_ctx,
|
||||
tSirMacAddr sa, tSirMacAddr mld_mac,
|
||||
uint16_t *assoc_id,
|
||||
struct pe_session *session);
|
||||
|
||||
#ifdef WLAN_FEATURE_HOST_ROAM
|
||||
void lim_restore_pre_reassoc_state(struct mac_context *,
|
||||
@ -227,6 +241,7 @@ static inline bool lim_is_roam_synch_in_progress(struct wlan_objmgr_psoc *psoc,
|
||||
|
||||
void
|
||||
lim_send_del_sta_cnf(struct mac_context *mac, struct qdf_mac_addr sta_dsaddr,
|
||||
struct qdf_mac_addr sta_mld_addr,
|
||||
uint16_t staDsAssocId,
|
||||
struct lim_sta_context mlmStaContext,
|
||||
tSirResultCodes status_code,
|
||||
|
@ -59,6 +59,7 @@
|
||||
#include <wlan_mlo_mgr_sta.h>
|
||||
#include "wlan_mlo_mgr_public_structs.h"
|
||||
#include "wlan_p2p_api.h"
|
||||
#include "wlan_tdls_api.h"
|
||||
|
||||
#define SA_QUERY_REQ_MIN_LEN \
|
||||
(DOT11F_FF_CATEGORY_LEN + DOT11F_FF_ACTION_LEN + DOT11F_FF_TRANSACTIONID_LEN)
|
||||
@ -1561,7 +1562,8 @@ static void lim_process_addba_req(struct mac_context *mac_ctx, uint8_t *rx_pkt_i
|
||||
uint8_t extd_buff_size = 0;
|
||||
|
||||
if (mlo_is_any_link_disconnecting(session->vdev)) {
|
||||
pe_err("Ignore ADDBA, vdev is in not in conncted state");
|
||||
pe_err("Ignore ADDBA, vdev:%d is in not in conncted state",
|
||||
wlan_vdev_get_id(session->vdev));
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1578,7 +1580,6 @@ static void lim_process_addba_req(struct mac_context *mac_ctx, uint8_t *rx_pkt_i
|
||||
/* Unpack ADDBA request frame */
|
||||
status = dot11f_unpack_addba_req(mac_ctx, body_ptr, frame_len,
|
||||
addba_req, false);
|
||||
|
||||
if (DOT11F_FAILED(status)) {
|
||||
pe_err("Failed to unpack and parse (0x%08x, %d bytes)",
|
||||
status, frame_len);
|
||||
@ -1590,6 +1591,21 @@ static void lim_process_addba_req(struct mac_context *mac_ctx, uint8_t *rx_pkt_i
|
||||
|
||||
sta_ds = dph_lookup_hash_entry(mac_ctx, mac_hdr->sa, &aid,
|
||||
&session->dph.dphHashTable);
|
||||
/*
|
||||
* TDLS peer addba request for some TID could be received before
|
||||
* TDLS_CHANGE_STA is received from userspace in some scenario
|
||||
* for example when the DUT sends TDLS setup response directly
|
||||
* to an already discovered peer and peer sends the addba request
|
||||
* immediately for TID 0.
|
||||
*/
|
||||
if (sta_ds && sta_ds->staType == STA_ENTRY_TDLS_PEER &&
|
||||
!wlan_tdls_is_addba_request_allowed(session->vdev,
|
||||
(struct qdf_mac_addr *)sta_ds->staAddr)) {
|
||||
pe_err("vdev:%d Dropping TDLS peer addba req received before change_sta",
|
||||
wlan_vdev_get_id(session->vdev));
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (sta_ds &&
|
||||
(lim_is_session_he_capable(session) ||
|
||||
sta_ds->staType == STA_ENTRY_TDLS_PEER))
|
||||
|
@ -147,6 +147,7 @@ static void lim_convert_supported_channels(struct mac_context *mac_ctx,
|
||||
*/
|
||||
static QDF_STATUS lim_check_sta_in_pe_entries(struct mac_context *mac_ctx,
|
||||
tSirMacAddr sa,
|
||||
tSirMacAddr mld_mac,
|
||||
uint16_t sessionid,
|
||||
bool *dup_entry)
|
||||
{
|
||||
@ -160,9 +161,9 @@ static QDF_STATUS lim_check_sta_in_pe_entries(struct mac_context *mac_ctx,
|
||||
session = &mac_ctx->lim.gpSession[i];
|
||||
if (session->valid &&
|
||||
(session->opmode == QDF_SAP_MODE)) {
|
||||
sta_ds = dph_lookup_hash_entry(
|
||||
mac_ctx, sa,
|
||||
&assoc_id, &session->dph.dphHashTable);
|
||||
sta_ds = lim_get_sta_ds(
|
||||
mac_ctx, sa, mld_mac,
|
||||
&assoc_id, session);
|
||||
if (sta_ds
|
||||
&& (!sta_ds->rmfEnabled ||
|
||||
(sessionid != session->peSessionId))
|
||||
@ -181,10 +182,9 @@ static QDF_STATUS lim_check_sta_in_pe_entries(struct mac_context *mac_ctx,
|
||||
return QDF_STATUS_E_AGAIN;
|
||||
}
|
||||
sta_ds->sta_deletion_in_progress = true;
|
||||
pe_err("Sending Disassoc and Deleting existing STA entry:"
|
||||
QDF_MAC_ADDR_FMT,
|
||||
QDF_MAC_ADDR_REF(
|
||||
session->self_mac_addr));
|
||||
pe_debug("Vdev %d Delete STA " QDF_MAC_ADDR_FMT,
|
||||
session->vdev_id,
|
||||
QDF_MAC_ADDR_REF(sa));
|
||||
lim_send_disassoc_mgmt_frame(mac_ctx,
|
||||
REASON_UNSPEC_FAILURE,
|
||||
(uint8_t *)sa, session, false);
|
||||
@ -257,19 +257,21 @@ static bool lim_chk_assoc_req_parse_error(struct mac_context *mac_ctx,
|
||||
QDF_STATUS qdf_status;
|
||||
enum wlan_status_code wlan_status;
|
||||
struct qdf_mac_addr *mld_mac;
|
||||
uint32_t offset = WLAN_ASSOC_REQ_IES_OFFSET;
|
||||
|
||||
if (sub_type == LIM_ASSOC)
|
||||
if (sub_type == LIM_ASSOC) {
|
||||
wlan_status = sir_convert_assoc_req_frame2_struct(mac_ctx, frm_body,
|
||||
frame_len,
|
||||
assoc_req);
|
||||
else
|
||||
} else {
|
||||
wlan_status = sir_convert_reassoc_req_frame2_struct(mac_ctx,
|
||||
frm_body, frame_len, assoc_req);
|
||||
|
||||
offset = WLAN_REASSOC_REQ_IES_OFFSET;
|
||||
}
|
||||
if (wlan_status == STATUS_SUCCESS) {
|
||||
qdf_status = lim_strip_and_decode_eht_cap(
|
||||
frm_body + WLAN_ASSOC_REQ_IES_OFFSET,
|
||||
frame_len - WLAN_ASSOC_REQ_IES_OFFSET,
|
||||
frm_body + offset,
|
||||
frame_len - offset,
|
||||
&assoc_req->eht_cap,
|
||||
assoc_req->he_cap,
|
||||
session->curr_op_freq);
|
||||
@ -289,7 +291,6 @@ static bool lim_chk_assoc_req_parse_error(struct mac_context *mac_ctx,
|
||||
qdf_mem_zero(&assoc_req->mlo_info,
|
||||
sizeof(assoc_req->mlo_info));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -2554,7 +2555,12 @@ QDF_STATUS lim_proc_assoc_req_frm_cmn(struct mac_context *mac_ctx,
|
||||
lim_get_phy_mode(mac_ctx, &phy_mode, session);
|
||||
limGetQosMode(session, &qos_mode);
|
||||
|
||||
status = lim_check_sta_in_pe_entries(mac_ctx, sa,
|
||||
if (!lim_chk_assoc_req_parse_error(mac_ctx, sa, session,
|
||||
assoc_req, sub_type,
|
||||
frm_body, frame_len))
|
||||
goto error;
|
||||
|
||||
status = lim_check_sta_in_pe_entries(mac_ctx, sa, assoc_req->mld_mac,
|
||||
session->peSessionId,
|
||||
&dup_entry);
|
||||
if (QDF_IS_STATUS_ERROR(status)) {
|
||||
@ -2596,10 +2602,6 @@ QDF_STATUS lim_proc_assoc_req_frm_cmn(struct mac_context *mac_ctx,
|
||||
}
|
||||
}
|
||||
|
||||
if (!lim_chk_assoc_req_parse_error(mac_ctx, sa, session,
|
||||
assoc_req, sub_type,
|
||||
frm_body, frame_len))
|
||||
goto error;
|
||||
|
||||
if (!lim_chk_capab(mac_ctx, sa, session, assoc_req,
|
||||
sub_type, &local_cap))
|
||||
|
@ -120,7 +120,8 @@ static void lim_process_sae_msg_sta(struct mac_context *mac,
|
||||
|
||||
qdf_mem_zero(session->lim_join_req->rsnIE.rsnIEdata,
|
||||
WLAN_MAX_IE_LEN + 2);
|
||||
lim_update_connect_rsn_ie(session, rsn_ie_buf, pmksa);
|
||||
lim_update_connect_rsn_ie(mac, session, rsn_ie_buf,
|
||||
pmksa);
|
||||
|
||||
qdf_mem_free(pmksa);
|
||||
qdf_mem_free(rsn_ie_buf);
|
||||
|
@ -1713,7 +1713,6 @@ static void lim_process_periodic_join_probe_req_timer(struct mac_context *mac_ct
|
||||
struct pe_session *session;
|
||||
tSirMacSSid ssid;
|
||||
tSirMacAddr bssid;
|
||||
tSirMacAddr bcast_mac = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
|
||||
|
||||
session = pe_find_session_by_session_id(mac_ctx,
|
||||
mac_ctx->lim.lim_timers.gLimPeriodicJoinProbeReqTimer.sessionId);
|
||||
@ -1733,16 +1732,6 @@ static void lim_process_periodic_join_probe_req_timer(struct mac_context *mac_ct
|
||||
sir_copy_mac_addr(bssid,
|
||||
session->pLimMlmJoinReq->bssDescription.bssId);
|
||||
|
||||
/*
|
||||
* Some APs broadcasting hidden SSID doesn't respond to unicast
|
||||
* probe requests, however those APs respond to broadcast probe
|
||||
* requests. Therefore for hidden ssid connections, after 3
|
||||
* unicast probe requests, try the pending probes with broadcast
|
||||
* mac.
|
||||
*/
|
||||
if (session->ssidHidden && session->join_probe_cnt > 2)
|
||||
sir_copy_mac_addr(bssid, bcast_mac);
|
||||
|
||||
lim_send_probe_req_mgmt_frame(mac_ctx, &ssid, bssid,
|
||||
session->curr_op_freq,
|
||||
session->self_mac_addr, session->dot11mode,
|
||||
|
@ -981,6 +981,7 @@ void lim_process_mlm_disassoc_cnf(struct mac_context *mac_ctx,
|
||||
tSirResultCodes result_code;
|
||||
tLimMlmDisassocCnf *disassoc_cnf;
|
||||
struct pe_session *session_entry;
|
||||
struct qdf_mac_addr mld_mac = QDF_MAC_ADDR_ZERO_INIT;
|
||||
|
||||
disassoc_cnf = (tLimMlmDisassocCnf *) msg;
|
||||
|
||||
@ -1033,13 +1034,16 @@ void lim_process_mlm_disassoc_cnf(struct mac_context *mac_ctx,
|
||||
session_entry->peSessionId,
|
||||
session_entry->limSmeState));
|
||||
lim_send_sme_disassoc_ntf(mac_ctx,
|
||||
disassoc_cnf->peerMacAddr, result_code,
|
||||
disassoc_cnf->peerMacAddr,
|
||||
(uint8_t *)mld_mac.bytes, result_code,
|
||||
disassoc_cnf->disassocTrigger,
|
||||
disassoc_cnf->aid, session_entry->smeSessionId,
|
||||
session_entry);
|
||||
}
|
||||
} else if (LIM_IS_AP_ROLE(session_entry)) {
|
||||
lim_send_sme_disassoc_ntf(mac_ctx, disassoc_cnf->peerMacAddr,
|
||||
lim_send_sme_disassoc_ntf(
|
||||
mac_ctx, disassoc_cnf->peerMacAddr,
|
||||
disassoc_cnf->peerMldAddr,
|
||||
result_code, disassoc_cnf->disassocTrigger,
|
||||
disassoc_cnf->aid, session_entry->smeSessionId,
|
||||
session_entry);
|
||||
@ -1182,6 +1186,7 @@ void lim_process_mlm_purge_sta_ind(struct mac_context *mac, uint32_t *msg_buf)
|
||||
tSirResultCodes resultCode;
|
||||
tpLimMlmPurgeStaInd pMlmPurgeStaInd;
|
||||
struct pe_session *pe_session;
|
||||
struct qdf_mac_addr mld_addr = QDF_MAC_ADDR_ZERO_INIT;
|
||||
|
||||
if (!msg_buf) {
|
||||
pe_err("Buffer is Pointing to NULL");
|
||||
@ -1233,6 +1238,7 @@ void lim_process_mlm_purge_sta_ind(struct mac_context *mac, uint32_t *msg_buf)
|
||||
} else
|
||||
lim_send_sme_disassoc_ntf(mac,
|
||||
pMlmPurgeStaInd->peerMacAddr,
|
||||
(uint8_t *)mld_addr.bytes,
|
||||
resultCode,
|
||||
pMlmPurgeStaInd->purgeTrigger,
|
||||
pMlmPurgeStaInd->aid,
|
||||
|
@ -2928,6 +2928,9 @@ static void lim_update_sae_config(struct mac_context *mac,
|
||||
{
|
||||
struct wlan_crypto_pmksa *pmksa;
|
||||
struct qdf_mac_addr bssid;
|
||||
struct bss_description *bss_desc;
|
||||
struct action_oui_search_attr ap_attr = {0};
|
||||
bool is_vendor_ap = false;
|
||||
|
||||
qdf_mem_copy(bssid.bytes, session->bssId,
|
||||
QDF_MAC_ADDR_SIZE);
|
||||
@ -2939,6 +2942,16 @@ static void lim_update_sae_config(struct mac_context *mac,
|
||||
if (!pmksa)
|
||||
return;
|
||||
|
||||
bss_desc = &session->lim_join_req->bssDescription;
|
||||
ap_attr.ie_data = (uint8_t *)&bss_desc->ieFields[0];
|
||||
ap_attr.ie_length =
|
||||
wlan_get_ielen_from_bss_description(bss_desc);
|
||||
is_vendor_ap = wlan_action_oui_search(mac->psoc,
|
||||
&ap_attr,
|
||||
ACTION_OUI_RESTRICT_MAX_MLO_LINKS);
|
||||
if (is_vendor_ap)
|
||||
return;
|
||||
|
||||
session->sae_pmk_cached = true;
|
||||
pe_debug("PMKSA Found for BSSID=" QDF_MAC_ADDR_FMT,
|
||||
QDF_MAC_ADDR_REF(bssid.bytes));
|
||||
@ -4162,9 +4175,18 @@ lim_strip_rsnx_ie(struct mac_context *mac_ctx,
|
||||
(uint16_t *)&req->assoc_ie.len, WLAN_ELEMID_RSNXE,
|
||||
ONE_BYTE, NULL, 0, rsnxe, WLAN_MAX_IE_LEN);
|
||||
|
||||
if (!rsnxe[0])
|
||||
if (!rsnxe[SIR_MAC_IE_TYPE_OFFSET] || !rsnxe[SIR_MAC_IE_LEN_OFFSET])
|
||||
goto end;
|
||||
|
||||
/*
|
||||
* Do not rebuild the RSNXE with length 1, if none of the caps are set
|
||||
* in the first octet. It leads to the creation of an empty RSNXE.
|
||||
*/
|
||||
if (!(rsnxe[2] & 0xF0)) {
|
||||
pe_debug("None of the caps are set in 1st octet, strip RSNXE");
|
||||
goto end;
|
||||
}
|
||||
|
||||
switch (ap_rsnxe_len) {
|
||||
case 0:
|
||||
/*
|
||||
@ -4221,11 +4243,23 @@ end:
|
||||
}
|
||||
|
||||
void
|
||||
lim_update_connect_rsn_ie(struct pe_session *session,
|
||||
lim_update_connect_rsn_ie(struct mac_context *mac,
|
||||
struct pe_session *session,
|
||||
uint8_t *rsn_ie_buf, struct wlan_crypto_pmksa *pmksa)
|
||||
{
|
||||
uint8_t *rsn_ie_end;
|
||||
uint16_t rsn_ie_len = 0;
|
||||
struct bss_description *bss_desc =
|
||||
&session->lim_join_req->bssDescription;
|
||||
struct action_oui_search_attr ap_attr = {0};
|
||||
|
||||
ap_attr.ie_data = (uint8_t *)&bss_desc->ieFields[0];
|
||||
ap_attr.ie_length =
|
||||
wlan_get_ielen_from_bss_description(bss_desc);
|
||||
if (wlan_action_oui_search(mac->psoc,
|
||||
&ap_attr,
|
||||
ACTION_OUI_RESTRICT_MAX_MLO_LINKS))
|
||||
pmksa = NULL;
|
||||
|
||||
rsn_ie_end = wlan_crypto_build_rsnie_with_pmksa(session->vdev,
|
||||
rsn_ie_buf, pmksa);
|
||||
@ -4299,7 +4333,7 @@ lim_fill_rsn_ie(struct mac_context *mac_ctx, struct pe_session *session,
|
||||
if (pmksa_peer)
|
||||
pe_debug("PMKSA found");
|
||||
|
||||
lim_update_connect_rsn_ie(session, rsn_ie, pmksa_peer);
|
||||
lim_update_connect_rsn_ie(mac_ctx, session, rsn_ie, pmksa_peer);
|
||||
qdf_mem_free(rsn_ie);
|
||||
|
||||
/*
|
||||
@ -4468,6 +4502,7 @@ static void lim_copy_ml_partner_info_to_session(struct pe_session *session,
|
||||
void lim_set_emlsr_caps(struct mac_context *mac_ctx, struct pe_session *session)
|
||||
{
|
||||
bool emlsr_cap, emlsr_allowed, emlsr_band_check, emlsr_enabled = false;
|
||||
bool emlsr_aux_support = false;
|
||||
|
||||
/* Check if HW supports eMLSR mode */
|
||||
emlsr_cap = policy_mgr_is_hw_emlsr_capable(mac_ctx->psoc);
|
||||
@ -4481,8 +4516,11 @@ void lim_set_emlsr_caps(struct mac_context *mac_ctx, struct pe_session *session)
|
||||
emlsr_band_check = lim_is_emlsr_band_supported(session);
|
||||
|
||||
emlsr_allowed = emlsr_cap && emlsr_enabled && emlsr_band_check;
|
||||
emlsr_aux_support = emlsr_enabled && WLAN_EMLSR_ENABLE &&
|
||||
wlan_mlme_is_aux_emlsr_support(mac_ctx->psoc,
|
||||
WLAN_MLME_HW_MODE_MAX);
|
||||
|
||||
if (emlsr_allowed) {
|
||||
if (emlsr_allowed || emlsr_aux_support) {
|
||||
wlan_vdev_obj_lock(session->vdev);
|
||||
wlan_vdev_mlme_cap_set(session->vdev, WLAN_VDEV_C_EMLSR_CAP);
|
||||
wlan_vdev_obj_unlock(session->vdev);
|
||||
@ -4491,6 +4529,9 @@ void lim_set_emlsr_caps(struct mac_context *mac_ctx, struct pe_session *session)
|
||||
wlan_vdev_mlme_cap_clear(session->vdev, WLAN_VDEV_C_EMLSR_CAP);
|
||||
wlan_vdev_obj_unlock(session->vdev);
|
||||
}
|
||||
|
||||
pe_debug("eMLSR vdev cap: %d", emlsr_allowed);
|
||||
pe_debug("eMLSR aux support: %d", emlsr_aux_support);
|
||||
}
|
||||
#else
|
||||
static void lim_fill_ml_info(struct cm_vdev_join_req *req,
|
||||
@ -6457,6 +6498,7 @@ static void __lim_process_sme_disassoc_req(struct mac_context *mac,
|
||||
struct pe_session *pe_session = NULL;
|
||||
uint8_t sessionId;
|
||||
uint8_t smesessionId;
|
||||
struct qdf_mac_addr mld_addr = QDF_MAC_ADDR_ZERO_INIT;
|
||||
|
||||
if (!msg_buf) {
|
||||
pe_err("Buffer is Pointing to NULL");
|
||||
@ -6627,6 +6669,7 @@ sendDisassoc:
|
||||
if (pe_session)
|
||||
lim_send_sme_disassoc_ntf(mac,
|
||||
smeDisassocReq.peer_macaddr.bytes,
|
||||
(uint8_t *)mld_addr.bytes,
|
||||
retCode,
|
||||
disassocTrigger,
|
||||
1, smesessionId,
|
||||
@ -6634,6 +6677,7 @@ sendDisassoc:
|
||||
else
|
||||
lim_send_sme_disassoc_ntf(mac,
|
||||
smeDisassocReq.peer_macaddr.bytes,
|
||||
(uint8_t *)mld_addr.bytes,
|
||||
retCode, disassocTrigger, 1,
|
||||
smesessionId, NULL);
|
||||
|
||||
@ -7331,6 +7375,7 @@ void __lim_process_sme_assoc_cnf_new(struct mac_context *mac_ctx, uint32_t msg_t
|
||||
struct pe_session *session_entry = NULL;
|
||||
uint8_t session_id;
|
||||
tpSirAssocReq assoc_req;
|
||||
struct qdf_mac_addr mld_addr = QDF_MAC_ADDR_ZERO_INIT;
|
||||
|
||||
if (!msg_buf) {
|
||||
pe_err("msg_buf is NULL");
|
||||
@ -7368,7 +7413,10 @@ void __lim_process_sme_assoc_cnf_new(struct mac_context *mac_ctx, uint32_t msg_t
|
||||
* send a DISASSOC_IND message to WSM to make sure
|
||||
* the state in WSM and LIM is the same
|
||||
*/
|
||||
lim_send_sme_disassoc_ntf(mac_ctx, assoc_cnf.peer_macaddr.bytes,
|
||||
lim_send_sme_disassoc_ntf(
|
||||
mac_ctx,
|
||||
assoc_cnf.peer_macaddr.bytes,
|
||||
(uint8_t *)mld_addr.bytes,
|
||||
eSIR_SME_STA_NOT_ASSOCIATED,
|
||||
eLIM_PEER_ENTITY_DISASSOC, assoc_cnf.aid,
|
||||
session_entry->smeSessionId,
|
||||
@ -8878,6 +8926,7 @@ static void lim_process_sme_disassoc_req(struct mac_context *mac_ctx,
|
||||
struct disassoc_req disassoc_req;
|
||||
struct pe_session *session;
|
||||
uint8_t session_id;
|
||||
struct qdf_mac_addr mld_addr = QDF_MAC_ADDR_ZERO_INIT;
|
||||
|
||||
qdf_mem_copy(&disassoc_req, msg->bodyptr, sizeof(struct disassoc_req));
|
||||
|
||||
@ -8889,6 +8938,7 @@ static void lim_process_sme_disassoc_req(struct mac_context *mac_ctx,
|
||||
QDF_MAC_ADDR_REF(disassoc_req.bssid.bytes));
|
||||
lim_send_sme_disassoc_ntf(mac_ctx,
|
||||
disassoc_req.peer_macaddr.bytes,
|
||||
mld_addr.bytes,
|
||||
eSIR_SME_INVALID_PARAMETERS,
|
||||
eLIM_HOST_DISASSOC, 1,
|
||||
disassoc_req.sessionId, NULL);
|
||||
|
@ -77,6 +77,7 @@
|
||||
#include "wlan_cfg80211_tdls.h"
|
||||
#include "wlan_tdls_api.h"
|
||||
#include "lim_mlo.h"
|
||||
#include "wlan_mlo_mgr_link_switch.h"
|
||||
|
||||
/* define NO_PAD_TDLS_MIN_8023_SIZE to NOT padding: See CR#447630
|
||||
There was IOT issue with cisco 1252 open mode, where it pads
|
||||
@ -3722,38 +3723,54 @@ static void lim_tdls_update_hash_node_info(struct mac_context *mac,
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* Add STA for TDLS setup procedure
|
||||
*/
|
||||
static QDF_STATUS lim_tdls_setup_add_sta(struct mac_context *mac,
|
||||
struct tdls_add_sta_req *pAddStaReq,
|
||||
struct pe_session *pe_session)
|
||||
struct tdls_add_sta_req *pAddStaReq,
|
||||
struct pe_session *pe_session)
|
||||
{
|
||||
tpDphHashNode sta = NULL;
|
||||
struct wlan_objmgr_peer *peer;
|
||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||
uint16_t aid = 0;
|
||||
uint8_t peer_vdev_id;
|
||||
|
||||
sta = dph_lookup_hash_entry(mac, pAddStaReq->peermac.bytes, &aid,
|
||||
&pe_session->dph.dphHashTable);
|
||||
if (!sta && pAddStaReq->tdls_oper == TDLS_OPER_UPDATE) {
|
||||
pe_err("TDLS update peer is given without peer creation");
|
||||
pe_err("vdev:%d TDLS update peer is given without peer creation",
|
||||
pe_session->vdev_id);
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
if (sta && pAddStaReq->tdls_oper == TDLS_OPER_ADD) {
|
||||
pe_err("TDLS entry for peer: "QDF_MAC_ADDR_FMT " already exist, cannot add new entry",
|
||||
QDF_MAC_ADDR_REF(pAddStaReq->peermac.bytes));
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
pe_err("vdev:%d TDLS entry for peer: " QDF_MAC_ADDR_FMT " already exist, cannot add new entry",
|
||||
pe_session->vdev_id,
|
||||
QDF_MAC_ADDR_REF(pAddStaReq->peermac.bytes));
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
peer = wlan_objmgr_get_peer_by_mac(mac->psoc, pAddStaReq->peermac.bytes,
|
||||
WLAN_TDLS_NB_ID);
|
||||
if (peer) {
|
||||
peer_vdev_id = wlan_vdev_get_id(wlan_peer_get_vdev(peer));
|
||||
wlan_objmgr_peer_release_ref(peer, WLAN_TDLS_NB_ID);
|
||||
|
||||
if (pAddStaReq->tdls_oper == TDLS_OPER_ADD) {
|
||||
pe_err("vdev:%d peer: " QDF_MAC_ADDR_FMT " already exist on vdev:%d, cannot add new entry",
|
||||
pe_session->vdev_id,
|
||||
QDF_MAC_ADDR_REF(pAddStaReq->peermac.bytes),
|
||||
peer_vdev_id);
|
||||
return QDF_STATUS_E_EXISTS;
|
||||
}
|
||||
}
|
||||
|
||||
if (sta && sta->staType != STA_ENTRY_TDLS_PEER) {
|
||||
pe_err("Non TDLS entry for peer: "QDF_MAC_ADDR_FMT " already exist",
|
||||
QDF_MAC_ADDR_REF(pAddStaReq->peermac.bytes));
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
if (!sta) {
|
||||
aid = lim_assign_peer_idx(mac, pe_session);
|
||||
|
||||
if (!aid) {
|
||||
pe_err("No more free AID for peer: "QDF_MAC_ADDR_FMT,
|
||||
QDF_MAC_ADDR_REF(pAddStaReq->peermac.bytes));
|
||||
@ -3765,13 +3782,11 @@ static QDF_STATUS lim_tdls_setup_add_sta(struct mac_context *mac,
|
||||
|
||||
pe_debug("Aid: %d, for peer: " QDF_MAC_ADDR_FMT,
|
||||
aid, QDF_MAC_ADDR_REF(pAddStaReq->peermac.bytes));
|
||||
sta =
|
||||
dph_get_hash_entry(mac, aid,
|
||||
&pe_session->dph.dphHashTable);
|
||||
|
||||
sta = dph_get_hash_entry(mac, aid,
|
||||
&pe_session->dph.dphHashTable);
|
||||
if (sta) {
|
||||
(void)lim_del_sta(mac, sta, false /*asynchronous */,
|
||||
pe_session);
|
||||
/* asynchronous */
|
||||
lim_del_sta(mac, sta, false, pe_session);
|
||||
lim_delete_dph_hash_entry(mac, sta->staAddr, aid,
|
||||
pe_session);
|
||||
}
|
||||
@ -3780,25 +3795,25 @@ static QDF_STATUS lim_tdls_setup_add_sta(struct mac_context *mac,
|
||||
aid, &pe_session->dph.dphHashTable);
|
||||
|
||||
if (!sta) {
|
||||
pe_err("add hash entry failed");
|
||||
pe_err("vdev::%d add hash entry failed",
|
||||
pe_session->vdev_id);
|
||||
CLEAR_PEER_AID_BITMAP(pe_session->peerAIDBitmap, aid);
|
||||
QDF_ASSERT(0);
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
lim_tdls_update_hash_node_info(mac, sta, pAddStaReq, pe_session);
|
||||
|
||||
sta->staType = STA_ENTRY_TDLS_PEER;
|
||||
|
||||
status =
|
||||
lim_add_sta(mac, sta,
|
||||
(pAddStaReq->tdls_oper ==
|
||||
TDLS_OPER_UPDATE) ? true : false, pe_session);
|
||||
|
||||
if (QDF_STATUS_SUCCESS != status) {
|
||||
/* should not fail */
|
||||
status = lim_add_sta(mac, sta,
|
||||
pAddStaReq->tdls_oper == TDLS_OPER_UPDATE,
|
||||
pe_session);
|
||||
if (QDF_IS_STATUS_ERROR(status)) {
|
||||
CLEAR_PEER_AID_BITMAP(pe_session->peerAIDBitmap, aid);
|
||||
QDF_ASSERT(0);
|
||||
}
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
@ -3848,10 +3863,10 @@ static QDF_STATUS lim_send_sme_tdls_add_sta_rsp(struct mac_context *mac,
|
||||
add_sta_rsp->session_id = sessionId;
|
||||
add_sta_rsp->status_code = status;
|
||||
|
||||
if (peerMac) {
|
||||
if (peerMac)
|
||||
qdf_mem_copy(add_sta_rsp->peermac.bytes,
|
||||
(uint8_t *) peerMac, QDF_MAC_ADDR_SIZE);
|
||||
}
|
||||
|
||||
if (updateSta)
|
||||
add_sta_rsp->tdls_oper = TDLS_OPER_UPDATE;
|
||||
else
|
||||
@ -3884,26 +3899,41 @@ QDF_STATUS lim_process_tdls_add_sta_rsp(struct mac_context *mac, void *msg,
|
||||
uint16_t aid = 0;
|
||||
|
||||
SET_LIM_PROCESS_DEFD_MESGS(mac, true);
|
||||
pe_debug("staMac: "QDF_MAC_ADDR_FMT,
|
||||
QDF_MAC_ADDR_REF(pAddStaParams->staMac));
|
||||
|
||||
if (pAddStaParams->status != QDF_STATUS_SUCCESS) {
|
||||
QDF_ASSERT(0);
|
||||
pe_err("Add sta failed ");
|
||||
sta = dph_lookup_hash_entry(mac, pAddStaParams->staMac, &aid,
|
||||
&pe_session->dph.dphHashTable);
|
||||
if (!sta) {
|
||||
pe_err("staMac: " QDF_MAC_ADDR_FMT,
|
||||
QDF_MAC_ADDR_REF(pAddStaParams->staMac));
|
||||
CLEAR_PEER_AID_BITMAP(pe_session->peerAIDBitmap,
|
||||
pAddStaParams->assocId);
|
||||
lim_release_peer_idx(mac, pAddStaParams->assocId, pe_session);
|
||||
status = QDF_STATUS_E_FAILURE;
|
||||
goto add_sta_error;
|
||||
}
|
||||
|
||||
sta = dph_lookup_hash_entry(mac, pAddStaParams->staMac, &aid,
|
||||
&pe_session->dph.dphHashTable);
|
||||
if (!sta) {
|
||||
pe_err("sta is NULL ");
|
||||
if (pAddStaParams->status != QDF_STATUS_SUCCESS) {
|
||||
pe_err("vdev:%d TDLS add sta failed", pe_session->vdev_id);
|
||||
CLEAR_PEER_AID_BITMAP(pe_session->peerAIDBitmap, aid);
|
||||
lim_release_peer_idx(mac, sta->assocId, pe_session);
|
||||
|
||||
if (sta &&
|
||||
dph_delete_hash_entry(mac, pAddStaParams->staMac,
|
||||
sta->assocId,
|
||||
&pe_session->dph.dphHashTable))
|
||||
pe_err("Unable to delete Hash entry");
|
||||
|
||||
status = QDF_STATUS_E_FAILURE;
|
||||
QDF_ASSERT(0);
|
||||
goto add_sta_error;
|
||||
}
|
||||
|
||||
sta->mlmStaContext.mlmState = eLIM_MLM_LINK_ESTABLISHED_STATE;
|
||||
sta->valid = 1;
|
||||
pe_debug("vdev:%d sta_mac: " QDF_MAC_ADDR_FMT,
|
||||
pe_session->vdev_id,
|
||||
QDF_MAC_ADDR_REF(pAddStaParams->staMac));
|
||||
|
||||
add_sta_error:
|
||||
status = lim_send_sme_tdls_add_sta_rsp(mac, pe_session->smeSessionId,
|
||||
pAddStaParams->staMac,
|
||||
@ -4132,7 +4162,8 @@ QDF_STATUS lim_process_sme_tdls_add_sta_req(struct mac_context *mac,
|
||||
struct pe_session *pe_session;
|
||||
uint8_t session_id;
|
||||
|
||||
pe_debug("TDLS Add STA Request Received");
|
||||
pe_debug("vdev:%d TDLS Add STA Request Received",
|
||||
add_sta_req->session_id);
|
||||
pe_session =
|
||||
pe_find_session_by_bssid(mac, add_sta_req->bssid.bytes,
|
||||
&session_id);
|
||||
@ -4281,15 +4312,16 @@ static void lim_check_aid_and_delete_peer(struct mac_context *p_mac,
|
||||
if (!stads)
|
||||
goto skip;
|
||||
|
||||
pe_debug("Deleting "QDF_MAC_ADDR_FMT,
|
||||
QDF_MAC_ADDR_REF(stads->staAddr));
|
||||
pe_err("Deleting "QDF_MAC_ADDR_FMT,
|
||||
QDF_MAC_ADDR_REF(stads->staAddr));
|
||||
|
||||
if (!lim_is_roam_synch_in_progress(p_mac->psoc,
|
||||
session_entry)) {
|
||||
lim_send_deauth_mgmt_frame(p_mac,
|
||||
session_entry))
|
||||
lim_send_deauth_mgmt_frame(
|
||||
p_mac,
|
||||
REASON_DEAUTH_NETWORK_LEAVING,
|
||||
stads->staAddr, session_entry, false);
|
||||
}
|
||||
|
||||
/* Delete TDLS peer */
|
||||
qdf_mem_copy(mac_addr.bytes, stads->staAddr,
|
||||
QDF_MAC_ADDR_SIZE);
|
||||
@ -4349,7 +4381,7 @@ void lim_update_tdls_2g_bw(struct pe_session *session)
|
||||
* Return: QDF_STATUS_SUCCESS on success, error code otherwise
|
||||
*/
|
||||
QDF_STATUS lim_delete_tdls_peers(struct mac_context *mac_ctx,
|
||||
struct pe_session *session_entry)
|
||||
struct pe_session *session_entry)
|
||||
{
|
||||
|
||||
if (!session_entry) {
|
||||
@ -4360,38 +4392,55 @@ QDF_STATUS lim_delete_tdls_peers(struct mac_context *mac_ctx,
|
||||
lim_check_aid_and_delete_peer(mac_ctx, session_entry);
|
||||
|
||||
tgt_tdls_delete_all_peers_indication(mac_ctx->psoc,
|
||||
session_entry->smeSessionId);
|
||||
session_entry->vdev_id);
|
||||
|
||||
if (lim_is_roam_synch_in_progress(mac_ctx->psoc, session_entry))
|
||||
return QDF_STATUS_SUCCESS;
|
||||
|
||||
/* In case of CSA, Only peers in lim and TDLS component
|
||||
/*
|
||||
* For Link Switch disconnect, TDLS set state to disable will be sent
|
||||
* to firmware after the disconnect complete indication. So don't
|
||||
* send TDLS set state disable from here.
|
||||
*/
|
||||
if (mlo_mgr_is_link_switch_in_progress(session_entry->vdev))
|
||||
return QDF_STATUS_SUCCESS;
|
||||
|
||||
/*
|
||||
* In case of CSA, Only peers in lim and TDLS component
|
||||
* needs to be removed and set state disable command
|
||||
* should not be sent to fw as there is no way to enable
|
||||
* TDLS in FW after vdev restart.
|
||||
*/
|
||||
if (session_entry->tdls_send_set_state_disable) {
|
||||
if (session_entry->tdls_send_set_state_disable)
|
||||
tgt_tdls_peers_deleted_notification(mac_ctx->psoc,
|
||||
session_entry->
|
||||
smeSessionId);
|
||||
}
|
||||
session_entry->smeSessionId);
|
||||
|
||||
/* reset the set_state_disable flag */
|
||||
session_entry->tdls_send_set_state_disable = true;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
* lim_process_sme_del_all_tdls_peers(): process delete tdls peers
|
||||
* @p_mac: pointer to mac context
|
||||
* @msg_buf: message buffer
|
||||
*
|
||||
* This function processes request to delete tdls peers
|
||||
*
|
||||
* Return: Success: QDF_STATUS_SUCCESS Failure: Error value
|
||||
*/
|
||||
QDF_STATUS lim_process_sme_del_all_tdls_peers(struct mac_context *p_mac,
|
||||
uint32_t *msg_buf)
|
||||
QDF_STATUS lim_delete_all_tdls_peers(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
struct mac_context *mac = cds_get_context(QDF_MODULE_ID_PE);
|
||||
struct pe_session *session;
|
||||
|
||||
if (!mac)
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
session = pe_find_session_by_vdev_id(mac, wlan_vdev_get_id(vdev));
|
||||
if (!session) {
|
||||
pe_debug("No pe_session found for vdev_id:%d",
|
||||
wlan_vdev_get_id(vdev));
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
return lim_delete_tdls_peers(mac, session);
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
lim_process_sme_del_all_tdls_peers(struct mac_context *p_mac, uint32_t *msg_buf)
|
||||
{
|
||||
struct tdls_del_all_tdls_peers *msg;
|
||||
struct pe_session *session_entry;
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2011-2020 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022,2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@ -104,9 +104,6 @@ lim_collect_bss_description(struct mac_context *mac,
|
||||
qdf_mem_copy((uint8_t *) &pBssDescr->bssId,
|
||||
(uint8_t *) pHdr->bssId, sizeof(tSirMacAddr));
|
||||
|
||||
/* Copy Timestamp, Beacon Interval and Capability Info */
|
||||
pBssDescr->scansystimensec = qdf_get_bootbased_boottime_ns();
|
||||
|
||||
pBssDescr->timeStamp[0] = pBPR->timeStamp[0];
|
||||
pBssDescr->timeStamp[1] = pBPR->timeStamp[1];
|
||||
pBssDescr->beaconInterval = pBPR->beaconInterval;
|
||||
@ -142,21 +139,15 @@ lim_collect_bss_description(struct mac_context *mac,
|
||||
pBssDescr->rssi = (int8_t) WMA_GET_RX_RSSI_NORMALIZED(pRxPacketInfo);
|
||||
pBssDescr->rssi_raw = (int8_t) WMA_GET_RX_RSSI_RAW(pRxPacketInfo);
|
||||
|
||||
/* SINR no longer reported by HW */
|
||||
pBssDescr->sinr = 0;
|
||||
pe_debug(QDF_MAC_ADDR_FMT " rssi: normalized: %d, absolute: %d",
|
||||
QDF_MAC_ADDR_REF(pHdr->bssId), pBssDescr->rssi,
|
||||
pBssDescr->rssi_raw);
|
||||
|
||||
pBssDescr->received_time = (uint64_t)qdf_mc_timer_get_system_time();
|
||||
pBssDescr->tsf_delta = WMA_GET_RX_TSF_DELTA(pRxPacketInfo);
|
||||
pBssDescr->seq_ctrl = pHdr->seqControl;
|
||||
|
||||
pe_debug("Received %s from BSSID: " QDF_MAC_ADDR_FMT " tsf_delta = %u Seq Num: %x ssid:" QDF_SSID_FMT ", rssi: %d",
|
||||
pe_debug("Received %s from BSSID: " QDF_MAC_ADDR_FMT " Seq Num: %x ssid:" QDF_SSID_FMT ", rssi: %d",
|
||||
pBssDescr->fProbeRsp ? "Probe Rsp" : "Beacon",
|
||||
QDF_MAC_ADDR_REF(pHdr->bssId),
|
||||
pBssDescr->tsf_delta, ((pHdr->seqControl.seqNumHi <<
|
||||
HIGH_SEQ_NUM_OFFSET) | pHdr->seqControl.seqNumLo),
|
||||
((pHdr->seqControl.seqNumHi << HIGH_SEQ_NUM_OFFSET) |
|
||||
pHdr->seqControl.seqNumLo),
|
||||
QDF_SSID_REF(pBPR->ssId.length, pBPR->ssId.ssId),
|
||||
pBssDescr->rssi_raw);
|
||||
|
||||
@ -179,14 +170,6 @@ lim_collect_bss_description(struct mac_context *mac,
|
||||
pBssDescr->mdie[2] = pBPR->mdie[2];
|
||||
}
|
||||
|
||||
#ifdef FEATURE_WLAN_ESE
|
||||
pBssDescr->QBSSLoad_present = false;
|
||||
pBssDescr->QBSSLoad_avail = 0;
|
||||
if (pBPR->QBSSLoad.present) {
|
||||
pBssDescr->QBSSLoad_present = true;
|
||||
pBssDescr->QBSSLoad_avail = pBPR->QBSSLoad.avail;
|
||||
}
|
||||
#endif
|
||||
/* Copy IE fields */
|
||||
qdf_mem_copy((uint8_t *) &pBssDescr->ieFields,
|
||||
pBody + SIR_MAC_B_PR_SSID_OFFSET, ieLen);
|
||||
|
@ -186,7 +186,7 @@ lim_send_probe_req_mgmt_frame(struct mac_context *mac_ctx,
|
||||
uint8_t *frame;
|
||||
void *packet;
|
||||
QDF_STATUS qdf_status;
|
||||
struct pe_session *pesession;
|
||||
struct pe_session *pesession = NULL;
|
||||
uint8_t sessionid;
|
||||
const uint8_t *p2pie = NULL;
|
||||
uint8_t txflag = 0;
|
||||
@ -202,6 +202,7 @@ lim_send_probe_req_mgmt_frame(struct mac_context *mac_ctx,
|
||||
uint8_t *eht_cap_ie = NULL, eht_cap_ie_len = 0;
|
||||
bool is_band_2g;
|
||||
uint16_t mlo_ie_len = 0;
|
||||
tSirMacAddr bcast_mac = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
|
||||
|
||||
if (additional_ielen)
|
||||
addn_ielen = *additional_ielen;
|
||||
@ -240,6 +241,16 @@ lim_send_probe_req_mgmt_frame(struct mac_context *mac_ctx,
|
||||
return QDF_STATUS_E_NOMEM;
|
||||
}
|
||||
|
||||
/*
|
||||
* Some IOT APs doesn't respond to unicast probe requests,
|
||||
* however those APs respond to broadcast probe requests.
|
||||
* Therefore for hidden ssid connections, after 3 unicast probe
|
||||
* requests, try the pending probes with broadcast mac.
|
||||
*/
|
||||
if (pesession && !WLAN_REG_IS_6GHZ_CHAN_FREQ(pesession->curr_op_freq) &&
|
||||
pesession->join_probe_cnt > 2)
|
||||
sir_copy_mac_addr(bssid, bcast_mac);
|
||||
|
||||
/* The scheme here is to fill out a 'tDot11fProbeRequest' structure */
|
||||
/* and then hand it off to 'dot11f_pack_probe_request' (for */
|
||||
/* serialization). */
|
||||
@ -339,9 +350,12 @@ lim_send_probe_req_mgmt_frame(struct mac_context *mac_ctx,
|
||||
&pr->he_6ghz_band_cap);
|
||||
|
||||
if (IS_DOT11_MODE_EHT(dot11mode) && pesession &&
|
||||
pesession->lim_join_req) {
|
||||
pesession->lim_join_req &&
|
||||
!qdf_is_macaddr_broadcast((struct qdf_mac_addr *)bssid)) {
|
||||
lim_update_session_eht_capable(mac_ctx, pesession);
|
||||
mlo_ie_len = lim_send_probe_req_frame_mlo(mac_ctx, pesession);
|
||||
|
||||
if (pesession->lim_join_req->bssDescription.is_ml_ap)
|
||||
mlo_ie_len = lim_send_probe_req_frame_mlo(mac_ctx, pesession);
|
||||
}
|
||||
|
||||
populate_dot11f_eht_caps(mac_ctx, pesession, &pr->eht_cap);
|
||||
@ -2399,8 +2413,8 @@ lim_send_assoc_req_mgmt_frame(struct mac_context *mac_ctx,
|
||||
uint8_t *eht_cap_ie = NULL, eht_cap_ie_len = 0;
|
||||
bool bss_mfp_capable, frag_ie_present = false;
|
||||
int8_t peer_rssi = 0;
|
||||
bool is_band_2g;
|
||||
uint16_t mlo_ie_len, fils_hlp_ie_len = 0;
|
||||
bool is_band_2g, is_ml_ap;
|
||||
uint16_t mlo_ie_len = 0, fils_hlp_ie_len = 0;
|
||||
uint8_t *fils_hlp_ie = NULL;
|
||||
struct cm_roam_values_copy mdie_cfg = {0};
|
||||
|
||||
@ -2641,12 +2655,14 @@ lim_send_assoc_req_mgmt_frame(struct mac_context *mac_ctx,
|
||||
lim_strip_mlo_ie(mac_ctx, add_ie, &add_ie_len);
|
||||
}
|
||||
|
||||
mlo_ie_len = lim_fill_assoc_req_mlo_ie(mac_ctx, pe_session, frm);
|
||||
is_ml_ap = !!pe_session->lim_join_req->bssDescription.is_ml_ap;
|
||||
if (is_ml_ap)
|
||||
mlo_ie_len = lim_fill_assoc_req_mlo_ie(mac_ctx, pe_session, frm);
|
||||
|
||||
/**
|
||||
* In case of ML connection, if ML IE length is 0 then return failure.
|
||||
*/
|
||||
if (mlo_is_mld_sta(pe_session->vdev) && !mlo_ie_len) {
|
||||
if (is_ml_ap && mlo_is_mld_sta(pe_session->vdev) && !mlo_ie_len) {
|
||||
pe_err("Failed to add ML IE for vdev:%d", pe_session->vdev_id);
|
||||
goto end;
|
||||
}
|
||||
|
@ -882,6 +882,7 @@ void lim_send_sme_disassoc_deauth_ntf(struct mac_context *mac,
|
||||
|
||||
void lim_send_sme_disassoc_ntf(struct mac_context *mac,
|
||||
tSirMacAddr peerMacAddr,
|
||||
tSirMacAddr peerMldAddr,
|
||||
tSirResultCodes reasonCode,
|
||||
uint16_t disassocTrigger,
|
||||
uint16_t aid,
|
||||
@ -915,9 +916,9 @@ void lim_send_sme_disassoc_ntf(struct mac_context *mac,
|
||||
if (session->valid &&
|
||||
(session->opmode == QDF_SAP_MODE)) {
|
||||
/* Find the sta ds entry in another session */
|
||||
sta_ds = dph_lookup_hash_entry(mac,
|
||||
peerMacAddr, &assoc_id,
|
||||
&session->dph.dphHashTable);
|
||||
sta_ds = lim_get_sta_ds(mac, peerMacAddr,
|
||||
peerMldAddr, &assoc_id,
|
||||
session);
|
||||
if (sta_ds)
|
||||
break;
|
||||
}
|
||||
|
@ -134,6 +134,7 @@ QDF_STATUS lim_prepare_disconnect_done_ind(struct mac_context *mac_ctx,
|
||||
* lim_send_sme_disassoc_ntf() - Send disassoc notification to upper layer
|
||||
* @mac: Global MAC context
|
||||
* @peerMacAddr: The peer MAC addr to which disassociate was initiated
|
||||
* @peerMldAddr: Peer MLD mac
|
||||
* @reasonCode: The reason for Disassociation
|
||||
* @disassocTrigger: The trigger for Disassociation
|
||||
* @aid: The STAID. This parameter is present only on AP
|
||||
@ -148,6 +149,7 @@ QDF_STATUS lim_prepare_disconnect_done_ind(struct mac_context *mac_ctx,
|
||||
*/
|
||||
void lim_send_sme_disassoc_ntf(struct mac_context *mac,
|
||||
tSirMacAddr peerMacAddr,
|
||||
tSirMacAddr peerMldAddr,
|
||||
tSirResultCodes reasonCode,
|
||||
uint16_t disassocTrigger,
|
||||
uint16_t aid,
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2012-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@ -322,6 +322,7 @@ typedef struct sLimMlmDisassocReq {
|
||||
|
||||
typedef struct sLimMlmDisassocCnf {
|
||||
tSirMacAddr peerMacAddr;
|
||||
tSirMacAddr peerMldAddr;
|
||||
tSirResultCodes resultCode;
|
||||
uint16_t disassocTrigger;
|
||||
uint16_t aid;
|
||||
@ -1397,8 +1398,25 @@ void lim_send_sme_disassoc_deauth_ntf(struct mac_context *mac_ctx,
|
||||
QDF_STATUS status, uint32_t *ctx);
|
||||
|
||||
#ifdef FEATURE_WLAN_TDLS
|
||||
QDF_STATUS lim_process_sme_del_all_tdls_peers(struct mac_context *p_mac,
|
||||
uint32_t *msg_buf);
|
||||
/**
|
||||
* lim_process_sme_del_all_tdls_peers(): process delete tdls peers
|
||||
* @mac: pointer to mac context
|
||||
* @msg_buf: message buffer
|
||||
*
|
||||
* This function processes request to delete tdls peers
|
||||
*
|
||||
* Return: Success: QDF_STATUS_SUCCESS Failure: Error value
|
||||
*/
|
||||
QDF_STATUS
|
||||
lim_process_sme_del_all_tdls_peers(struct mac_context *mac, uint32_t *msg_buf);
|
||||
|
||||
/**
|
||||
* lim_delete_all_tdls_peers() - Delete all TDLS peers
|
||||
* @vdev: Pointer to vdev object
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS lim_delete_all_tdls_peers(struct wlan_objmgr_vdev *vdev);
|
||||
#else
|
||||
static inline
|
||||
QDF_STATUS lim_process_sme_del_all_tdls_peers(struct mac_context *p_mac,
|
||||
@ -1406,6 +1424,12 @@ QDF_STATUS lim_process_sme_del_all_tdls_peers(struct mac_context *p_mac,
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static inline
|
||||
QDF_STATUS lim_delete_all_tdls_peers(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
@ -9034,18 +9034,26 @@ void lim_log_eht_op(struct mac_context *mac, tDot11fIEeht_op *eht_ops,
|
||||
}
|
||||
|
||||
static void
|
||||
lim_revise_eht_caps(struct mac_context *mac, tDot11fIEeht_cap *eht_cap)
|
||||
lim_revise_eht_caps_per_band(struct mac_context *mac, enum cds_band_type band,
|
||||
tDot11fIEeht_cap *eht_cap)
|
||||
{
|
||||
uint32_t country_max_allowed_bw;
|
||||
|
||||
if (band == CDS_BAND_2GHZ)
|
||||
return;
|
||||
|
||||
country_max_allowed_bw = wlan_reg_get_country_max_allowed_bw(mac->pdev);
|
||||
if (!country_max_allowed_bw) {
|
||||
pe_debug("Failed to get country_max_allowed_bw");
|
||||
return;
|
||||
} else {
|
||||
pe_debug("max_allowed_bw %d", country_max_allowed_bw);
|
||||
}
|
||||
|
||||
if (country_max_allowed_bw < BW_320_MHZ)
|
||||
eht_cap->support_320mhz_6ghz = 0;
|
||||
else if (country_max_allowed_bw == BW_320_MHZ)
|
||||
eht_cap->support_320mhz_6ghz = 1;
|
||||
}
|
||||
|
||||
void lim_set_eht_caps(struct mac_context *mac,
|
||||
@ -9067,7 +9075,7 @@ void lim_set_eht_caps(struct mac_context *mac,
|
||||
is_band_2g = true;
|
||||
|
||||
populate_dot11f_eht_caps_by_band(mac, is_band_2g, &dot11_cap, NULL);
|
||||
lim_revise_eht_caps(mac, &dot11_cap);
|
||||
lim_revise_eht_caps_per_band(mac, band, &dot11_cap);
|
||||
populate_dot11f_he_caps_by_band(mac, is_band_2g, &dot11_he_cap,
|
||||
NULL);
|
||||
lim_log_eht_cap(mac, &dot11_cap);
|
||||
|
@ -1048,6 +1048,7 @@ QDF_STATUS lim_send_ies_per_band(struct mac_context *mac_ctx,
|
||||
|
||||
/**
|
||||
* lim_update_connect_rsn_ie() - Update the connection RSN IE
|
||||
* @mac_ctx: MAC context
|
||||
* @session: PE session
|
||||
* @rsn_ie_buf: RSN IE buffer
|
||||
* @pmksa: PMKSA entry for the connecting AP
|
||||
@ -1055,7 +1056,8 @@ QDF_STATUS lim_send_ies_per_band(struct mac_context *mac_ctx,
|
||||
* Return: None
|
||||
*/
|
||||
void
|
||||
lim_update_connect_rsn_ie(struct pe_session *session, uint8_t *rsn_ie_buf,
|
||||
lim_update_connect_rsn_ie(struct mac_context *mac_ctx,
|
||||
struct pe_session *session, uint8_t *rsn_ie_buf,
|
||||
struct wlan_crypto_pmksa *pmksa);
|
||||
|
||||
/**
|
||||
|
@ -1743,7 +1743,7 @@ rrm_process_beacon_report_xmit(struct mac_context *mac_ctx,
|
||||
beacon_xmit_ind->duration;
|
||||
beacon_report->phyType = bss_desc->nwType;
|
||||
beacon_report->bcnProbeRsp = 1;
|
||||
beacon_report->rsni = bss_desc->sinr;
|
||||
beacon_report->rsni = 0;
|
||||
|
||||
rrm_calculate_and_fill_rcpi(&beacon_report->rcpi,
|
||||
bss_desc->rssi);
|
||||
|
@ -11977,23 +11977,6 @@ uint32_t wlan_get_11h_power_constraint(struct mac_context *mac_ctx,
|
||||
return local_power_constraint;
|
||||
}
|
||||
|
||||
#ifdef FEATURE_WLAN_ESE
|
||||
static void wlan_fill_qbss_load_param(tDot11fBeaconIEs *bcn_ies,
|
||||
struct bss_description *bss_desc)
|
||||
{
|
||||
if (!bcn_ies->QBSSLoad.present)
|
||||
return;
|
||||
|
||||
bss_desc->QBSSLoad_present = true;
|
||||
bss_desc->QBSSLoad_avail = bcn_ies->QBSSLoad.avail;
|
||||
}
|
||||
#else
|
||||
static void wlan_fill_qbss_load_param(tDot11fBeaconIEs *bcn_ies,
|
||||
struct bss_description *bss_desc)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef WLAN_FEATURE_FILS_SK
|
||||
static void wlan_update_bss_with_fils_data(struct mac_context *mac_ctx,
|
||||
struct scan_cache_entry *scan_entry,
|
||||
@ -12083,7 +12066,6 @@ wlan_fill_bss_desc_from_scan_entry(struct mac_context *mac_ctx,
|
||||
|
||||
qdf_mem_copy(bss_desc->bssId, scan_entry->bssid.bytes,
|
||||
QDF_MAC_ADDR_SIZE);
|
||||
bss_desc->scansystimensec = scan_entry->boottime_ns;
|
||||
qdf_mem_copy(bss_desc->timeStamp,
|
||||
scan_entry->tsf_info.data, 8);
|
||||
|
||||
@ -12103,8 +12085,6 @@ wlan_fill_bss_desc_from_scan_entry(struct mac_context *mac_ctx,
|
||||
|
||||
/* channel frequency what peer sent in beacon/probersp. */
|
||||
bss_desc->chan_freq = scan_entry->channel.chan_freq;
|
||||
bss_desc->received_time =
|
||||
scan_entry->scan_entry_time;
|
||||
bss_desc->startTSF[0] =
|
||||
mac_ctx->rrm.rrmPEContext.startTSF[0];
|
||||
bss_desc->startTSF[1] =
|
||||
@ -12113,9 +12093,9 @@ wlan_fill_bss_desc_from_scan_entry(struct mac_context *mac_ctx,
|
||||
scan_entry->rrm_parent_tsf;
|
||||
bss_desc->fProbeRsp = (scan_entry->frm_subtype ==
|
||||
MGMT_SUBTYPE_PROBE_RESP);
|
||||
bss_desc->seq_ctrl = hdr->seqControl;
|
||||
bss_desc->tsf_delta = scan_entry->tsf_delta;
|
||||
bss_desc->adaptive_11r_ap = scan_entry->adaptive_11r_ap;
|
||||
bss_desc->is_ml_ap =
|
||||
util_scan_entry_bv_ml_ie(scan_entry) ? true : false;
|
||||
|
||||
bss_desc->mbo_oce_enabled_ap =
|
||||
util_scan_entry_mbo_oce(scan_entry) ? true : false;
|
||||
@ -12143,7 +12123,6 @@ wlan_fill_bss_desc_from_scan_entry(struct mac_context *mac_ctx,
|
||||
(bcn_ies->MobilityDomain.resourceReqCap << 1));
|
||||
}
|
||||
|
||||
wlan_fill_qbss_load_param(bcn_ies, bss_desc);
|
||||
wlan_update_bss_with_fils_data(mac_ctx, scan_entry, bss_desc);
|
||||
|
||||
qdf_mem_free(bcn_ies);
|
||||
@ -12916,6 +12895,7 @@ QDF_STATUS populate_dot11f_mlo_ie(struct mac_context *mac_ctx,
|
||||
struct wlan_mlo_eml_cap eml_cap = {0};
|
||||
uint16_t presence_bitmap = 0;
|
||||
bool emlsr_cap, emlsr_enabled = false;
|
||||
bool aux_emlsr_support = false;
|
||||
|
||||
if (!mac_ctx || !mlo_ie)
|
||||
return QDF_STATUS_E_NULL_VALUE;
|
||||
@ -12959,8 +12939,13 @@ QDF_STATUS populate_dot11f_mlo_ie(struct mac_context *mac_ctx,
|
||||
/* Check if vendor command chooses eMLSR mode */
|
||||
wlan_mlme_get_emlsr_mode_enabled(mac_ctx->psoc, &emlsr_enabled);
|
||||
|
||||
/* check if aux elmsr capable */
|
||||
aux_emlsr_support = wlan_mlme_is_aux_emlsr_support(mac_ctx->psoc,
|
||||
WLAN_MLME_HW_MODE_MAX);
|
||||
|
||||
/* Check if STA supports EMLSR and vendor command prefers EMLSR mode */
|
||||
if (emlsr_cap && emlsr_enabled) {
|
||||
if ((emlsr_cap && emlsr_enabled) ||
|
||||
aux_emlsr_support) {
|
||||
wlan_mlme_get_eml_params(psoc, &eml_cap);
|
||||
mlo_ie->eml_capab_present = 1;
|
||||
presence_bitmap |= WLAN_ML_BV_CTRL_PBM_EMLCAP_P;
|
||||
|
@ -7710,17 +7710,17 @@ QDF_STATUS sme_set_ht2040_mode(mac_handle_t mac_handle, uint8_t sessionId,
|
||||
|
||||
switch (channel_type) {
|
||||
case eHT_CHAN_HT20:
|
||||
if (!session->cb_mode)
|
||||
if (session->cb_mode == PHY_SINGLE_CHANNEL_CENTERED)
|
||||
return QDF_STATUS_SUCCESS;
|
||||
cb_mode = PHY_SINGLE_CHANNEL_CENTERED;
|
||||
break;
|
||||
case eHT_CHAN_HT40MINUS:
|
||||
if (session->cb_mode)
|
||||
if (session->cb_mode != PHY_SINGLE_CHANNEL_CENTERED)
|
||||
return QDF_STATUS_SUCCESS;
|
||||
cb_mode = PHY_DOUBLE_CHANNEL_HIGH_PRIMARY;
|
||||
break;
|
||||
case eHT_CHAN_HT40PLUS:
|
||||
if (session->cb_mode)
|
||||
if (session->cb_mode != PHY_SINGLE_CHANNEL_CENTERED)
|
||||
return QDF_STATUS_SUCCESS;
|
||||
cb_mode = PHY_DOUBLE_CHANNEL_LOW_PRIMARY;
|
||||
break;
|
||||
|
@ -7,16 +7,19 @@ _target_chipset_map = {
|
||||
"kiwi-v2",
|
||||
],
|
||||
"pineapple": [
|
||||
"peach-v2",
|
||||
"peach",
|
||||
"kiwi-v2",
|
||||
"qca6750",
|
||||
],
|
||||
"sun": [
|
||||
"peach-v2",
|
||||
"peach",
|
||||
"kiwi-v2",
|
||||
],
|
||||
"volcano": [
|
||||
"qca6750",
|
||||
"peach-v2",
|
||||
],
|
||||
"parrot": [
|
||||
"qca6750",
|
||||
@ -27,14 +30,19 @@ _target_chipset_map = {
|
||||
_chipset_hw_map = {
|
||||
"kiwi-v2": "BERYLLIUM",
|
||||
"peach": "BERYLLIUM",
|
||||
"peach-v2": "BERYLLIUM",
|
||||
"qca6750": "MOSELLE",
|
||||
"adrastea" : "ADRASTEA",
|
||||
}
|
||||
|
||||
_chipset_header_map = {
|
||||
"peach-v2": [
|
||||
"api/hw/peach/v2",
|
||||
"cmn/hal/wifi3.0/peach",
|
||||
],
|
||||
"peach": [
|
||||
"api/hw/peach/v1",
|
||||
"cmn/hal/wifi3.0/kiwi",
|
||||
"cmn/hal/wifi3.0/peach",
|
||||
],
|
||||
"kiwi-v2": [
|
||||
"api/hw/kiwi/v2",
|
||||
@ -693,21 +701,25 @@ _conditional_srcs = {
|
||||
},
|
||||
"CONFIG_CNSS_KIWI_V2": {
|
||||
True: [
|
||||
"cmn/hal/wifi3.0/kiwi/hal_kiwi.c",
|
||||
"cmn/hif/src/kiwidef.c",
|
||||
],
|
||||
},
|
||||
"CONFIG_INCLUDE_HAL_KIWI": {
|
||||
True: [
|
||||
"cmn/hal/wifi3.0/kiwi/hal_kiwi.c",
|
||||
],
|
||||
},
|
||||
"CONFIG_INCLUDE_HAL_PEACH": {
|
||||
True: [
|
||||
"cmn/hal/wifi3.0/peach/hal_peach.c",
|
||||
],
|
||||
},
|
||||
"CONFIG_QCA6750_HEADERS_DEF": {
|
||||
True: [
|
||||
"cmn/hal/wifi3.0/qca6750/hal_6750.c",
|
||||
"cmn/hif/src/qca6750def.c",
|
||||
],
|
||||
},
|
||||
"CONFIG_CNSS_PEACH": {
|
||||
True: [
|
||||
"cmn/hal/wifi3.0/kiwi/hal_kiwi.c",
|
||||
],
|
||||
},
|
||||
"CONFIG_CP_STATS": {
|
||||
True: [
|
||||
"cmn/target_if/cp_stats/src/target_if_cp_stats.c",
|
||||
|
Loading…
Reference in New Issue
Block a user