The WMI_PDEV_UPDATE_PMK_CACHE_CMDID command is sent even if the
delete/set pmksa command fails due to same entry with same pmk
already exists. This can cause invalid pmk
entries to be updated in the Fw pmk table and also the host/fw
pmksa table goes out of sync.
To avoid this, send the WMI_PDEV_UPDATE_PMK_CACHE_CMDID command
only if set pmksa/del pmksa is successful at crypto
Change-Id: I080ebd9f6ca11bac216e6e8c62ef6060f0adef67
CRs-Fixed: 2937175
Currently if the userspace doesnt send the NSS/BW values, then
the filter_set_valid_mask flag is not set in the
WMI_CFR_CAPTURE_FILTER_CMDID command. So the target doesnt
configure the BW and NSS filter in HW leading to frames getting
filtered out.
Fill default CFR capture NSS and BW values during start
capture.
Change-Id: I46004aa38c09dec8995fff84a3e699581675221b
CRs-Fixed: 2932529
Enable the history support to log Tx descriptors programmed
in Tx and completion HW rings.
Change-Id: I5ce308354714da78baa05500bc73e1a9ec91b958
CRs-Fixed: 2935363
qcacld-3.0: Update pmk cache entry for roamed AP
Consider two APs: AP1, AP2
Both APs configured with EAP 802.1x security mode
and OKC is enabled in both APs by default. Initially
DUT successfully associated with AP1, and generated
PMK1 by performing full EAP and added an entry for AP1
in pmk table. At this stage, pmk table has only one
entry for PMK1 (1. AP1-->PMK1).
Now DUT roams to AP2 using PMK1 (as OKC is enabled)
but session timeout happens on AP2 just before 4 way
handshake completion in FW. At this point of time DUT not
in authenticated state. Due to this DUT performs full EAP
with AP2 and generates PMK2. As there is no previous
entry of AP2 (AP2-->PMK1) in pmk table. When host gets
pmk delete command for BSSID of AP2, the BSSID match
fails. Hence host will not delete pmk entry of AP1 as well.
At this point of time, the PMK table has two entry
1. AP1-->PMK1 and 2. AP2 --> PMK2.
Ideally, if OKC is enabled then whenever timeout occurs in
a mobility domain, then the driver should clear all APs
cache entries related to that domain but as the BSSID
doesn't exist yet in the driver cache there is no way of
clearing the cache entries, without disturbing the legacy
roaming. Now security profile for both APs changed to FT-RSN.
DUT first disassociate with AP2 and successfully associated
with AP2 and perform full EAP and generates PMK3. DUT first
deletes PMK entry for AP2 and then adds a new entry for AP2.
At this point of time pmk table has two entry AP2--> PMK3
and AP1-->PMK1. Now DUT roamed to AP1 using
PMK3 but sends stale entry of AP1 (PMK1) to fw via RSO
command. This override PMK for both APs with PMK1
(as FW uses mlme session PMK for both APs in case of FT
roaming) and next time when FW try to roam to AP2 using
PMK1, AP2 rejects PMK1 (As AP2 is expecting PMK3) and
initiates full EAP with AP2, which is wrong.
Fix is to update pmk table entry for roamed AP1 with PMK3 value
comes to host via roam sync indication event.. By this host
override stale entry (if any) with the latest valid pmk for
that AP at a point of time.
Also add new api to get the sae single pmk ini value and
update the bss desc of single_pmk cap after intersecting the ini
value.
Change-Id: I12fecbae69d0d2a11f2a39eee6be960752d831bd
CRs-Fixed: 2889847
Update Link tx power with TPC power calculated in lim_calculate_tpc
everytime a radio measurement request is received.
Change-Id: Ie564fd13b071f0265c2a5c80088d5550e07395b3
CRs-Fixed: 2938684
Currently the rate, ofdm and cck flags are filled to support only
legacy rates.To support other rates too, fill ofdm and cck flags
based on phymode and fill rate in terms of 500 Kbps in tx status.
Change-Id: I972919ebd2cbd19a1b55af0324e481fada7f12cd
CRs-Fixed: 2917079
Refactor the code to replace htt tx data header with packet capture
header. So that we can add extra parameters in packet capture
header to send required data to packet capture callback function.
Change-Id: I863c63b925d1cd8ba5a8a7f0bc08ee3cd2acb96b
CRs-Fixed: 2916795
Currently in packet capture mode for tx mgmt packets tsf_delta
filled in tsf timeestamp, which is incorrect.
So, fill tsf timestamp in Mgmt tx packets for packet capture.
Change-Id: I90da072ee6d7e0f7a9b6271086e163a71208b7f5
CRs-Fixed: 2916982
When calculating the TX power, add a path to not consider the TPE IE
values in case of 2G/5G bands. If device is operating in 6G band,
include the TPE IE regardless of INI configuration.
Change-Id: If829318319e9b799c75a59ce3beed39bae5bffa2
CRs-fixed: 2936487
Sometimes, the AP sends low values in the TPE IE resulting in low TX
power. This causes DUT to have throughput/connection issues. Add an INI
to skip over TPE IE only in 2g/5g case. TPE IE will always be considered
in 6G band.
Change-Id: Ia0750195bb0aabf304743e1ad89c8f6d0c9ef1a3
CRs-fixed: 2936492
In LFR-2.0 roaming case, wma_add_peer() is called which
sends the peer create command to firmware, but in the
caller peer count is not incremented in success case.
This leads to peer deletion failure during disconnection.
Increment peer count in LFR-2.0 roaming case.
Change-Id: I0b17217615e104fe93f622555f04c6a85e279d6d
CRs-Fixed: 2929615
Currently peer create response support is added for connect path
but in LFR-2.0 case also peer create response received is
processed and lim_post_join_set_link_state_callback() is called
leading to sending vdev start again.
Call the API to fill peer create wma request only for initial
connection.
Change-Id: I24140efd5541f7ed4aa3cef9efebf5a729846902
CRs-Fixed: 2856636
Mark rx and fisa history related allocations as non
critical for prealloc. This will ensure that prealloc
init can continue when memory alloc fails for the above
as these are only for debug purposes.
Change-Id: I94fc5c35a3a7a5dae3a4c97cf4ceca4eee7372ca
CRs-Fixed: 2936359
Update Link tx power with TPC power calculated in lim for
RRM scenario. In the legacy case (old FW), Link tx power
was calculated using lim_get_max_tx_power where as for
new FW, we get the power value from lim_calculate_tpc.
Change-Id: Id97f0cad00572180e3436142df9cf95e6d270d12
CRs-Fixed: 2937763
When starting SAP, the AP power type is decided based on certain
conditions. After turning off the SAP, the power type is no longer
valid, so reset it back to default.
Change-Id: I472da2e02b58017dab4855fc83cd4e15b24b7b08
CRs-fixed: 2934622
Fisa packet history is around 6KB for each sw fisa
flow entry and this is part of the dp_fisa_rx_sw_ft
structure. The total size of the SW FT as a result is
around 830KB and the higher order memory allocation via
kzalloc for this could fail in low/fragmented memory
scenarios.
Fix is to allocate memory for FISA pkt history separately
and attach it to the SW FT entry.
Change-Id: I7296d7269c1b86ec38ea1668e8a0893335bbdb6f
CRs-Fixed: 2934487
Add entries to pre-allocate memory region for
recording datapath rx refill ring history.
Change-Id: Icbb6d59b834ea7b8957406e68be72bf3072389bf
CRs-Fixed: 2930011
TDLS pkts statistics API cost 10% CPU cycle of whole RX
thread. It's optimized in another change from TDLS team to
remove excessive lock/unlock. So original change is not needed.
Change-Id: Ica1dd6bf8a94a4bef6045b07228bd547aeda3a00
CRs-Fixed: 2930306
If STA Country Code is US and if AP Country IE has a different
county code, STA should not allow connection to this AP as VLP
mode is not implemented yet in the US.
If STA Country Code is GB and if AP Country IE has a different
county code, STA will use VLP mode.
Change-Id: I7d247ae9fc83d7b578b01ec664247c807f7834fc
CRs-Fixed: 2933632
Reject the below TWT commands while scan is in progress:
1. TWT setup
2. TWT pause
3. TWT resume
4. TWT Nudge
Also convert the wmi status code for scan in progress
to vendor status.
Change-Id: I2b5c2cdd23a3172913e122b5c8fd04f4bb5c3e1e
CRs-Fixed: 2923282
set_wifi_config vendor command is missing the policy configuration
for the OPTIMIZED_POWER_MANAGEMENT attribute. Thus, add the attribute
to set_wifi_config's policy table.
Change-Id: Ia4d205ceea59a1d557bd646ff064ff340066c12a
CRs-Fixed: 2933377
Stop the BW monitoring and stats collection for IPA before
disabling the pipes. Add this to the the case where WLAN
is in SSR and IPA pipes are being disabled when last client
is disconnecting.
Change-Id: I29e8ec6d73287cf601f829e74ba03aa611564d3a
CRs-Fixed: 2922079
If STA is present on non-preferred channel i.e. 12, 13, 14 and SAP
ACS channel list is 1-11 then MCC is preferable as SAP don't want
to come up on non-preferable channel.
Change-Id: I82bd707c26258e0bf0b7cc14657185d11f56f757
CRs-Fixed: 2922824
Tx MPDU aggregation is not happening in HE80 11ax connection
resulting in low throughput for HST.
Fix is to enable TX_AGGREGATION_SIZE_ENABLE for HST.
Change-Id: Ieca8464991a6a194d6f02b70fe4972aca288b541
CRs-Fixed: 2925514
Host need set tx_aggr_size_disable bit when host tx aggregation is
unsupported.
Change-Id: I0c86e74f6447f401d24660e1291abf969b1abbe6
CRs-Fixed: 2931245
Only send the VHT TX beamforming capability if firmware has set the
support bit. This helps ensure backward compatibility for older
products.
Change-Id: Ia5830c9f378e3f0ddc83c8019d5168a270ad6f69
CRs-fixed: 2933687