Merge b43c4037ff on remote branch

Change-Id: I314db4f6c5aec9c84338cf72cecf5af980347516
This commit is contained in:
Linux Build Service Account 2023-02-13 06:30:15 -08:00
commit b47e275790
8 changed files with 50 additions and 35 deletions

View file

@ -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-2023 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
@ -884,6 +884,7 @@ policy_mgr_nan_sap_pre_enable_conc_check(struct wlan_objmgr_psoc *psoc,
* @psoc: PSOC object information
* @mode: connection mode
* @ch_freq: target channel frequency to switch
* @bw: target channel bandwidth
* @vdev_id: vdev id of channel switch interface
* @forced: forced to chan switch.
* @reason: request reason of CSA
@ -903,8 +904,17 @@ policy_mgr_nan_sap_pre_enable_conc_check(struct wlan_objmgr_psoc *psoc,
bool
policy_mgr_allow_concurrency_csa(struct wlan_objmgr_psoc *psoc,
enum policy_mgr_con_mode mode,
uint32_t ch_freq, uint32_t vdev_id,
bool forced, enum sap_csa_reason_code reason);
uint32_t ch_freq, enum hw_mode_bandwidth bw,
uint32_t vdev_id, bool forced,
enum sap_csa_reason_code reason);
/**
* policy_mgr_get_bw() - Convert phy_ch_width to hw_mode_bandwidth.
* @chan_width: phy_ch_width
*
* Return: hw_mode_bandwidth
*/
enum hw_mode_bandwidth policy_mgr_get_bw(enum phy_ch_width chan_width);
/**
* policy_mgr_get_first_connection_pcl_table_index() - provides the

View file

@ -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-2023 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
@ -2653,11 +2653,14 @@ bool policy_mgr_is_concurrency_allowed(struct wlan_objmgr_psoc *psoc,
}
if (ch_freq) {
chan_state = wlan_reg_get_5g_bonded_channel_state_for_freq(
if (wlan_reg_is_5ghz_ch_freq(ch_freq)) {
chan_state =
wlan_reg_get_5g_bonded_channel_state_for_freq(
pm_ctx->pdev, ch_freq,
policy_mgr_get_ch_width(bw));
if (chan_state == CHANNEL_STATE_DFS)
is_dfs_ch = true;
if (chan_state == CHANNEL_STATE_DFS)
is_dfs_ch = true;
}
/* don't allow 3rd home channel on same MAC
* also check for single mac target which doesn't
* support interbad MCC as well
@ -2693,8 +2696,10 @@ bool policy_mgr_is_concurrency_allowed(struct wlan_objmgr_psoc *psoc,
sta_sap_scc_on_dfs_chan =
policy_mgr_is_sta_sap_scc_allowed_on_dfs_chan(psoc);
go_force_scc = policy_mgr_go_scc_enforced(psoc);
if ((!sta_sap_scc_on_dfs_chan && mode == PM_SAP_MODE) ||
(!go_force_scc && mode == PM_P2P_GO_MODE)) {
if ((mode == PM_SAP_MODE || mode == PM_P2P_GO_MODE) &&
(!sta_sap_scc_on_dfs_chan ||
!policy_mgr_is_sta_sap_scc(psoc, ch_freq) ||
(!go_force_scc && mode == PM_P2P_GO_MODE))) {
if (is_dfs_ch)
match = policy_mgr_disallow_mcc(psoc,
ch_freq);
@ -2796,8 +2801,9 @@ bool policy_mgr_allow_concurrency(struct wlan_objmgr_psoc *psoc,
bool
policy_mgr_allow_concurrency_csa(struct wlan_objmgr_psoc *psoc,
enum policy_mgr_con_mode mode,
uint32_t ch_freq, uint32_t vdev_id,
bool forced, enum sap_csa_reason_code reason)
uint32_t ch_freq, enum hw_mode_bandwidth bw,
uint32_t vdev_id, bool forced,
enum sap_csa_reason_code reason)
{
bool allow = false;
struct policy_mgr_conc_connection_info
@ -2812,8 +2818,8 @@ policy_mgr_allow_concurrency_csa(struct wlan_objmgr_psoc *psoc,
policy_mgr_err("Invalid Context");
return allow;
}
policy_mgr_debug("check concurrency_csa vdev:%d ch %d, forced %d, reason %d",
vdev_id, ch_freq, forced, reason);
policy_mgr_debug("check concurrency_csa vdev:%d ch %d bw %d, forced %d, reason %d",
vdev_id, ch_freq, bw, forced, reason);
status = policy_mgr_get_chan_by_session_id(psoc, vdev_id,
&old_ch_freq);
@ -2851,8 +2857,7 @@ policy_mgr_allow_concurrency_csa(struct wlan_objmgr_psoc *psoc,
policy_mgr_store_and_del_conn_info_by_vdev_id(
psoc, vdev_id, info, &num_cxn_del);
allow = policy_mgr_allow_concurrency(psoc, mode, ch_freq,
HW_MODE_20_MHZ);
allow = policy_mgr_allow_concurrency(psoc, mode, ch_freq, bw);
/* Restore the connection entry */
if (num_cxn_del > 0)
policy_mgr_restore_deleted_conn_info(psoc, info, num_cxn_del);

View file

@ -1,5 +1,6 @@
/*
* Copyright (c) 2012-2020 The Linux Foundation. All rights reserved.
* Copyright (c) 2022-2023 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
@ -570,14 +571,6 @@ void pm_dbs_opportunistic_timer_handler(void *data);
enum policy_mgr_con_mode policy_mgr_get_mode(uint8_t type,
uint8_t subtype);
/**
* policy_mgr_get_bw() - Convert phy_ch_width to hw_mode_bandwidth.
* @chan_width: phy_ch_width
*
* Return: hw_mode_bandwidth
*/
enum hw_mode_bandwidth policy_mgr_get_bw(enum phy_ch_width chan_width);
QDF_STATUS policy_mgr_get_channel_list(struct wlan_objmgr_psoc *psoc,
enum policy_mgr_pcl_type pcl,
uint32_t *pcl_channels, uint32_t *len,

View file

@ -1,6 +1,6 @@
/*
* Copyright (c) 2012-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2022-2023 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
@ -2966,6 +2966,7 @@ int hdd_softap_set_channel_change(struct net_device *dev, int target_chan_freq,
struct wlan_objmgr_vdev *vdev;
bool strict;
uint32_t sta_cnt = 0;
struct ch_params ch_params = {0};
hdd_ctx = WLAN_HDD_GET_CTX(adapter);
ret = wlan_hdd_validate_context(hdd_ctx);
@ -3046,7 +3047,10 @@ int hdd_softap_set_channel_change(struct net_device *dev, int target_chan_freq,
hdd_err("Channel switch in progress!!");
return -EBUSY;
}
ch_params.ch_width = target_bw;
target_bw = wlansap_get_csa_chanwidth_from_phymode(sap_ctx,
target_chan_freq,
&ch_params);
/*
* Do SAP concurrency check to cover channel switch case as following:
* There is already existing SAP+GO combination but due to upper layer
@ -3063,7 +3067,7 @@ int hdd_softap_set_channel_change(struct net_device *dev, int target_chan_freq,
hdd_ctx->psoc,
policy_mgr_convert_device_mode_to_qdf_type(
adapter->device_mode),
target_chan_freq,
target_chan_freq, policy_mgr_get_bw(target_bw),
adapter->vdev_id,
forced,
sap_ctx->csa_reason)) {

View file

@ -32,9 +32,9 @@
#define QWLAN_VERSION_MAJOR 2
#define QWLAN_VERSION_MINOR 0
#define QWLAN_VERSION_PATCH 8
#define QWLAN_VERSION_EXTRA "Z"
#define QWLAN_VERSION_BUILD 31
#define QWLAN_VERSION_EXTRA "B"
#define QWLAN_VERSION_BUILD 32
#define QWLAN_VERSIONSTR "2.0.8.31Z"
#define QWLAN_VERSIONSTR "2.0.8.32B"
#endif /* QWLAN_VERSION_H */

View file

@ -2178,8 +2178,9 @@ void lim_calculate_tpc(struct mac_context *mac,
mlme_obj->reg_tpc_obj.eirp_power = reg_max;
mlme_obj->reg_tpc_obj.power_type_6g = ap_power_type_6g;
pe_debug("num_pwr_levels: %d, is_psd_power: %d, total eirp_power: %d, ap_pwr_type: %d",
num_pwr_levels, is_psd_power, reg_max, ap_power_type_6g);
pe_debug("num_pwr_levels: %d, is_psd_power: %d, total eirp_power: %d, ap_pwr_type: %d tx_pwrlimit: %d",
num_pwr_levels, is_psd_power, reg_max, ap_power_type_6g,
mlme_obj->mgmt.generic.tx_pwrlimit);
}
/**

View file

@ -1249,6 +1249,8 @@ QDF_STATUS wma_vdev_start_resp_handler(struct vdev_mlme_obj *vdev_mlme,
return QDF_STATUS_E_INVAL;
mlme_obj->mgmt.generic.tx_pwrlimit = rsp->max_allowed_tx_power;
wma_debug("Max allowed tx power: %d", rsp->max_allowed_tx_power);
if (iface->type == WMI_VDEV_TYPE_STA)
assoc_type = mlme_get_assoc_type(vdev_mlme->vdev);

View file

@ -1,5 +1,6 @@
/*
* Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2022 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
@ -74,10 +75,6 @@ QDF_STATUS os_if_monitor_mode_configure(struct hdd_adapter *adapter,
QDF_STATUS status;
os_if_pkt_enter();
if (tb[SET_MONITOR_MODE_INVALID])
return QDF_STATUS_E_FAILURE;
vdev = hdd_objmgr_get_vdev(adapter);
if (!vdev)
return QDF_STATUS_E_INVAL;
@ -89,6 +86,9 @@ QDF_STATUS os_if_monitor_mode_configure(struct hdd_adapter *adapter,
return QDF_STATUS_E_INVAL;
}
if (tb[SET_MONITOR_MODE_INVALID])
return QDF_STATUS_E_FAILURE;
if (tb[SET_MONITOR_MODE_DATA_TX_FRAME_TYPE] &&
nla_get_u32(tb[SET_MONITOR_MODE_DATA_TX_FRAME_TYPE]) <
PACKET_CAPTURE_DATA_MAX_FILTER) {