The memory allocation for srngs and tx/rx descriptors
are done during prealloc using macros. This could
potentially result in OOB access if the srngs sizes
and tx/rx descriptor num of elements are increased
via ini config.
Fix is to use ini values to update the srng sizes or
num of tx/rx descriptors for appropriate memory alloc
during dp prealloc.
Change-Id: Iaeac3833fd8e13df6baa9452a7d7f194b86a8bd3
CRs-Fixed: 3012648
With the commit I630423de03636e6c4ca07638dce6966c3ca381f9,
driver will enable HT40 capability field in assoc request
frame to 2.4G AP. In some countries, the 40Mhz is disallowed
in 2.4G.
Fix by disable HT40 if regulatory disallow
Change-Id: I8a1e6b2c59c486373c49cba0e3c635b34f443e1c
CRs-Fixed: 3012747
For the TDLS link, not established in 6ghz band, some
elements in HE OP IE such as basic mcs, bss color are
not filled properly. This might cause some IOT issue.
To fix it fill the params correctly.
It should be noted that VHT operation info should not
be included in HE OP IE if the frame carries the VHT OP
IE or sent in 2.4GHz.
For TDLS link connected in 5Ghz band, VHT OP IE is sent
in the setup confirm frame so no need to include that.
Change-Id: I9426ff3ca16461628b8ebe9710048dc68866dbf4
CRs-Fixed: 3003984
When the 11be feature flag is enabled but the MLO flag is not,
it puts the MLO manager in a weird state since some parts are
enabled while others are not. In this case, use legacy AID
allocation for non mlo connections.
Change-Id: Ic7d82303d5a6700ba8f4b8f7f287db13ac88846f
CRs-fixed: 3010156
Once pkt_log_con_service success in cds_pre_enable,
in case of any further failure, pkt_log_exit cleanup is
not done, so calling CDP interface API for pkt_log_exit.
Change-Id: Ibddc99fb47109a73de095f068694b2548849f14d
CRs-Fixed: 2978390
Currently, If supplicant sends tx_mgmt request with random
mac_addr then driver adds the random mac_addr and sets this
random mac_addr to firmware via
WMI_VDEV_ADD_MAC_ADDR_TO_RX_FILTER_CMDID command. Driver waits
for tx_ack or tx cancel wait to complete and then remove the
cookies and start timer to delete the random mac_addr.
In case after receiving tx_ack, driver removes the cookie and
starts timer and before timeout supplicant sends the
tx_cancel_wait request. But driver can't update the timer
duration as the cookie was already deleted as part action frame
tx completion.
Fix is driver will remove the cookie with below condition:
1. If driver receives the tx_ack and the wait duration = 0 then
no need to start the timer, remove the cookie and also remove the
random mac_addr from firmware
2. If driver receives the tx_ack and the wait duration != 0 then
start the timer
3. If driver receives tx_cancel_wait then stop the timer and
remove the randon mac_addr from firmware
4. If timeout happens then remove all the cookies for the random
mac_addr and also remove the random mac_addr from firmware
Change-Id: I3e227213239e865582e5d8674260d049c437aa9b
CRs-Fixed: 3002851
For SAP with special OUI, if DUT STA connect with 11ax mode with ht
control enabled, SAP can't decode unicast pkt from DUT.
Fix it by clearing ht control bit in he cap when send peer assoc cmd
to firmware when connect such IOT AP with 11ax mode.
Steps:
1. When wlan driver is loaded, psoc ht cap is initialized by ini or
default value in hdd_component_psoc_open->mlme_init_he_cap_in_cfg.
mac->mlme_cfg = &mlme_ext_obj->cfg in mac_open.
2. When WMI_SERVICE_READY_EXT_EVENT is received from firmware,
psoc he cap is updated in wma_update_hdd_cfg->hdd_update_tgt_cfg->
hdd_update_tgt_he_cap->mlme_update_tgt_he_caps_in_cfg.
3. When wlan0 up, vdev0 is created, mlme_priv->he_config is copied from
psoc he cap in sme_vdev_post_vdev_create_setup->csr_setup_vdev_session->
csr_update_session_he_cap.
4. When DUT STA connect, check OUI in beacon when join request in
lim_check_oui_and_update_session, if matched special pattern of SAP
which doesn't support htc he, htc he in vdev mlme_priv->he_config is
disabled, then session->he_config is copied from vdev mlme_priv->he_config
in lim_fill_pe_session->lim_copy_join_req_he_cap with htc he disabled too.
5. When assoc rsp is received, ht cap of peer and DUT are intersected
and set to add_bss->staContext.he_config in lim_process_assoc_rsp_frame->
lim_sta_send_add_bss->lim_intersect_ap_he_caps->lim_intersect_he_caps.
so htc he is also disabled in peer_he_cap_macinfo.
htc he in peer_he_cap_info is disabled when WMI_PEER_ASSOC_CMDID is sent
in wma_send_peer_assoc->wma_populate_peer_he_cap. then htc he is disabled
in all tx pkts in he mode.
Change-Id: Icf9d6d7ddc370c79e615a713c76606e7fd195fd3
CRs-Fixed: 3004761
Fix build error when WLAN_FEATURE_11BE_MLO is not enabled while
WLAN_FEATURE_11BE is enabled.
update sta mlo information only when WLAN_FEATURE_11BE_MLO is
defined
Change-Id: I863fad494a819d6676be4cc1adaf5e8ca9b519a9
CRs-Fixed: 3011721
Add 320MHz support in cm so that connection info can reflect
correct 11BE 320MHz bandwidth.
Change-Id: I44772472bf9e64af0e47ad71ca7d29d1ff90daed
CRs-Fixed: 3009311
Per stress test in ftm mode, it causes
NL80211_CMD_TRIGGER_SCAN failed.
To resolve this issue, don't recover wlm level in ftm mode.
Change-Id: If8514e3d0f3d2bbf9594502efba476d8ad43d1e3
CRs-Fixed: 3011739
Based on new requirement, add aliasing for gNeighborLookupThreshold
ini and update the range of this ini as well.
Change-Id: I0a62e209d6a62001d6aec48849c4900062ae5bc7
CRs-Fixed: 3011060
Adding flags to support FR of Modularization of
monitor mode for Hastings to avoid compile issue.
Change-Id: I7be63661dde17179c8eb5fb5e5fd9b2dc0c9f4af
CRs-Fixed: 3011407
Incase of non-6ghz, the peer width is
updated while extracting HT and VHT
capability. For 6Ghz, the HT and VHT
capabilities may not be present and
because of which the peer channel width
gets updated as zero (20 Mhz).
To fix this, fill the channel width for
peer if session is 6ghz and peer supports
HE Capabilities.
Change-Id: Ie4d8f3a3a364af2c47e6b3d7309ee1287652ae06
CRs-Fixed: 3010063
In hdd_set_primary_interface:
1. When dual sta doesn't exist, just set primary_vdev_id, and return
SUCCESS, and don't config anything for dual sta.
2. If dual sta are not in MCC, don't send duty cycle percentage, return
SUCCESS.
Change-Id: Ib72033cf7d656e56c400759a7c5da13bf8d1377b
CRs-Fixed: 3009079
Currently the number of netdev interfaces created is equal to
the max number of vdev's supported. There shouldn't be a problem
w.r.t to adding the number of interfaces, the number of interfaces
which can active at a time is already controlled by the object
manager.
Remove the checks required to add the interfaces greater than
the max supported interfaces.
Change-Id: I5f9d1ca343788a77180a76f961fcc511feff4036
CRs-Fixed: 3010712
Host uses return value of function "hdd_get_adapter_home_channel" as
channel number when starting spectral scan and setting chainmask.
Which cause chainmask not to be set properly and parsing spectral
scan result fail. So, add this change to set chainmask based on home
channel frequency.
Change-Id: I3e25091841769d738dec101708e16602d783a363
CRs-Fixed: 3001325
Don't check for NULL for session in tdls_update_node_he_caps()
as the caller lim_process_sme_tdls_add_sta_req() is already
checking that.
Change-Id: I15b8144db385265fb77612f17123fd9f949ab7bf
CRs-Fixed: 3007560