Merge tag 'LA.UM.9.14.r1-25800-LAHAINA.QSSI15.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/qca-wifi-host-cmn into android13-5.4-lahaina

"LA.UM.9.14.r1-25800-LAHAINA.QSSI15.0"

* tag 'LA.UM.9.14.r1-25800-LAHAINA.QSSI15.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/qca-wifi-host-cmn:
  qcacmn: Fix length check to parse non-inheritance list
  qcacmn: Fix issue about generating MBSSID frames
  qcacmn: Add macro to determine WPA3 AKM
  qcacmn: Correct RSNXE capability indexes
  qcacmn: Allow WAPI packet delivering if no valid peer

Change-Id: I84c3b6e3ff3a08eb4e962df88632fcc37bd942b3
This commit is contained in:
Michael Bestas 2025-02-14 02:47:19 +02:00
commit db27e33f03
No known key found for this signature in database
GPG key ID: CC95044519BE6669
4 changed files with 11 additions and 5 deletions

View file

@ -1,5 +1,6 @@
/*
* Copyright (c) 2016-2021 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
@ -390,6 +391,7 @@ while (0)
#define FRAME_MASK_IPV4_DHCP 2
#define FRAME_MASK_IPV4_EAPOL 4
#define FRAME_MASK_IPV6_DHCP 8
#define FRAME_MASK_IPV4_WAPI 0x40
#ifdef QCA_SUPPORT_PEER_ISOLATION
#define dp_get_peer_isolation(_peer) ((_peer)->isolation)

View file

@ -1,6 +1,6 @@
/*
* Copyright (c) 2016-2020 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
@ -2129,7 +2129,8 @@ void dp_rx_deliver_to_stack_no_peer(struct dp_soc *soc, qdf_nbuf_t nbuf)
uint32_t pkt_len = 0;
uint8_t *rx_tlv_hdr;
uint32_t frame_mask = FRAME_MASK_IPV4_ARP | FRAME_MASK_IPV4_DHCP |
FRAME_MASK_IPV4_EAPOL | FRAME_MASK_IPV6_DHCP;
FRAME_MASK_IPV4_EAPOL | FRAME_MASK_IPV6_DHCP |
FRAME_MASK_IPV4_WAPI;
peer_id = QDF_NBUF_CB_RX_PEER_ID(nbuf);
if (peer_id > soc->max_peers)

View file

@ -1,5 +1,6 @@
/*
* Copyright (c) 2016-2020 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
@ -209,7 +210,9 @@ bool dp_rx_is_special_frame(qdf_nbuf_t nbuf, uint32_t frame_mask)
((frame_mask & FRAME_MASK_IPV4_EAPOL) &&
qdf_nbuf_is_ipv4_eapol_pkt(nbuf)) ||
((frame_mask & FRAME_MASK_IPV6_DHCP) &&
qdf_nbuf_is_ipv6_dhcp_pkt(nbuf)))
qdf_nbuf_is_ipv6_dhcp_pkt(nbuf)) ||
((frame_mask & FRAME_MASK_IPV4_WAPI) &&
qdf_nbuf_is_ipv4_wapi_pkt(nbuf)))
return true;
return false;

View file

@ -2021,7 +2021,7 @@ static uint32_t util_gen_new_ie(uint8_t *ie, uint32_t ielen,
if (extn_elem && extn_elem[TAG_LEN_POS] >= VALID_ELEM_LEAST_LEN) {
if (((extn_elem + extn_elem[1] + MIN_IE_LEN) - sub_copy)
< subie_len)
<= subie_len)
util_parse_noninheritance_list(extn_elem, &elem_list,
&extn_elem_list, &ninh);
}
@ -2163,7 +2163,7 @@ static uint32_t util_gen_new_ie(uint8_t *ie, uint32_t ielen,
tmp_new = sub_copy;
while ((subie_len > 0) &&
(((tmp_new + tmp_new[1] + MIN_IE_LEN) - sub_copy) <=
(subie_len - 1))) {
subie_len)) {
if (!(tmp_new[0] == WLAN_ELEMID_NONTX_BSSID_CAP ||
tmp_new[0] == WLAN_ELEMID_SSID ||
tmp_new[0] == WLAN_ELEMID_MULTI_BSSID_IDX ||