Merge 40c990ed3d on remote branch

Change-Id: I28bef137af5c1ccc4d46a3976458477289847668
This commit is contained in:
Linux Build Service Account 2026-01-05 03:13:56 -08:00
commit 5af4e2637c
5 changed files with 34 additions and 10 deletions

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 "F"
#define QWLAN_VERSION_EXTRA "G"
#define QWLAN_VERSION_BUILD 35
#define QWLAN_VERSIONSTR "2.0.8.35F"
#define QWLAN_VERSIONSTR "2.0.8.35G"
#endif /* QWLAN_VERSION_H */

View file

@ -6520,6 +6520,9 @@ static void lim_process_set_ie_req(struct mac_context *mac_ctx, uint32_t *msg_bu
if (p_ext_cap->interworking_service)
p_ext_cap->qos_map = 1;
if (wma_is_mbssid_enabled())
p_ext_cap->multi_bssid = 1;
extra_ext_cap.num_bytes = lim_compute_ext_cap_ie_length(&extra_ext_cap);
send_ie:

View file

@ -1,6 +1,6 @@
/*
* Copyright (c) 2012-2020 The Linux Foundation. All rights reserved.
* Copyright (c) 2022-2025 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@ -17422,6 +17422,8 @@ static void csr_cm_update_driver_assoc_ies(
MIN_TX_PWR_CAP, MAX_TX_PWR_CAP};
uint8_t max_tx_pwr_cap = 0;
uint8_t supp_chan_ie[DOT11F_IE_SUPPCHANNELS_MAX_LEN], supp_chan_ie_len;
struct s_ext_cap *extcap;
uint8_t *ext_cap_ie;
static const uint8_t qcn_ie[] = {0x8C, 0xFD, 0xF0, 0x1,
QCN_IE_VERSION_SUBATTR_ID,
QCN_IE_VERSION_SUBATTR_DATA_LEN,
@ -17433,6 +17435,14 @@ static void csr_cm_update_driver_assoc_ies(
qdf_mem_copy(rso_mode_cfg->assoc_ie, session->pAddIEAssoc,
rso_mode_cfg->assoc_ie_length);
ext_cap_ie = (uint8_t *)wlan_get_ie_ptr_from_eid(WLAN_ELEMID_XCAPS,
rso_mode_cfg->assoc_ie,
rso_mode_cfg->assoc_ie_length);
if (ext_cap_ie && wma_is_mbssid_enabled()) {
extcap = (struct s_ext_cap *)&ext_cap_ie[2];
extcap->multi_bssid = 1;
}
if (session->pConnectBssDesc)
max_tx_pwr_cap = csr_get_cfg_max_tx_power(
mac_ctx,

View file

@ -1,6 +1,6 @@
/*
* Copyright (c) 2013-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@ -2813,6 +2813,9 @@ int wma_wow_wakeup_host_event(void *handle, uint8_t *event, uint32_t len)
WMI_WOW_WAKEUP_HOST_EVENTID_param_tlvs *event_param;
WOW_EVENT_INFO_fixed_param *wake_info;
if (!wma || !wma->psoc)
return -EINVAL;
event_param = (WMI_WOW_WAKEUP_HOST_EVENTID_param_tlvs *)event;
if (!event_param) {
wma_err("Wake event data is null");

View file

@ -1,6 +1,6 @@
/*
* Copyright (c) 2013-2020 The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@ -1171,20 +1171,28 @@ static void wma_update_beacon_noa_ie(struct beacon_info *bcn,
/* TODO: Assuming p2p noa ie is last ie in the beacon */
qdf_mem_zero(bcn->noa_ie, (bcn->noa_sub_ie_len +
sizeof(struct p2p_ie)));
bcn->len -= (bcn->noa_sub_ie_len +
sizeof(struct p2p_ie));
if (bcn->len < (bcn->noa_sub_ie_len +
sizeof(struct p2p_ie)))
bcn->len = 0;
else
bcn->len -= (bcn->noa_sub_ie_len +
sizeof(struct p2p_ie));
bcn->noa_ie = NULL;
bcn->noa_sub_ie_len = 0;
}
wma_debug("No need to update NoA");
return;
}
if (bcn->noa_sub_ie_len && bcn->noa_ie) {
if (bcn->len < (bcn->noa_sub_ie_len + sizeof(struct p2p_ie)))
bcn->len = 0;
else
bcn->len -= (bcn->noa_sub_ie_len +
sizeof(struct p2p_ie));
/* NoA present in previous beacon, update it */
wma_debug("NoA present in previous beacon, update the NoA IE, bcn->len %u bcn->noa_sub_ie_len %u",
bcn->len, bcn->noa_sub_ie_len);
bcn->len -= (bcn->noa_sub_ie_len + sizeof(struct p2p_ie));
bcn->len, bcn->noa_sub_ie_len);
qdf_mem_zero(bcn->noa_ie,
(bcn->noa_sub_ie_len + sizeof(struct p2p_ie)));
} else { /* NoA is not present in previous beacon */