As part of start_bss response, beacon structures are extracted
from pe_session and stored in bss_description. But non-beaconing
entities like NDI doesn't have a beacon and corresponding
structures in pe_session are not valid. Beacon structures
schBeaconOffsetBegin and schBeaconOffsetEnd contain 0 in such
cases. Calculation of beacon IE length from these would result an
invalid length and leads to invalid IE extraction from
bss_description later(from csr_roam_process_start_bss_success).
Check if pe_session has valid beacon entry to avoid this.
Change-Id: Ic78dfcdbfb83cb29437d46337d13d62df533d780
CRs-Fixed: 2876897
GETSTATSSTAINFO and GETSTAINFO cmds return the correct
mcbc counters in SAP+STA case with IPA disabled since the
host updates these stats during dp_rx processing.
With IPA is enabled the hdd callback invoked from the IPA
driver needs to update the counters if broadcast or
multicast pkts are received in exception path.
Change-Id: I450bf809fab559be8f2fbd172c49fd7e8858ee5c
CRs-Fixed: 2875804
Currently the preferred channel list is not updated to have indoor only
channels removed. Add functionality to remove the indoor channels from
the PCL.
Change-Id: I31df737a3688f6c64c2eb5fa5ab0cea1d36869e5
CRs-fixed: 2874092
Currently, TWT setup is allowed after roaming even if
TWT notify from firmware is not received.
Block the TWT setup till notify event is received
from firmware.
Change-Id: Ia6ff8fe9e05f32ddf6dbdd608d9090b612237f26
CRs-Fixed: 2870610
Fill extra params such as join timeout etc. in LIM
for connection manager path.
Change-Id: I3c12e49023ce04c6b8d2f6c41d128ed9fc93a441
CRs-Fixed: 2879094
FTIE buffer carries multiple FT subelements (like R1KH-ID,
R0KH-ID, GTK, IGTK, etc).
Total FTIE buffer len = Number of FT subelements * (Subelement
ID (1 bytes) + lenght (1 bytes) + data length).
Currently, Host checks only the minimum length for FTIE buffer
while filling each FT subelements. This leads to OOB if the
remaining length of FTIE length buffer less than the length of
an FT subelement.
Before filling each subelement into FTIE buffer, add a check
to validate subelement length against remaining FTIE length
Change-Id: I5d6f4a59eef591d3a2da9f2403738d1fdd1a88b2
CRs-Fixed: 2857084
Call TPC calculation API from lim_handle_add_bss_rsp i.e.
after receiving vdev start response from FW.
TPC calculation API was called from lim_mlm_add_bss for SAP
and since this was happening before host received vdev start
response, HW limit for power from FW was zero and it
affected TPC calculation.
Also, API to check psd power flag for 6ghz returns true for
5ghz channels, so modify it to call under 6ghz channel check.
In TPE IE, max_tx_power_count values is one less than
num_pwr_levels so add 1 to count before assigning it to
num_pwr_levels for 5GHz TPE, non-PSD case.
Change-Id: I7e2ca0b6cf6c54528ade6263a87459e2c21098b2
CRs-Fixed: 2877654
Move the beacon interval validation logic from the CSR module to the
interface manager module.
Add a path to send events to the SAP event handler from the MLME
module.
Change-Id: Ia86f219b3f209b53e7818a80f95b2c0555550736
CRs-fixed: 2796676
Host will send TPC power to FW via new WMI cmd
WMI_VDEV_SET_TPC_POWER_CMDID going forward instead of
WMI_VDEV_PARAM_TX_PWRLIMIT to accommodate even 6GHz channels.
But, to support backward compatiiblity for New Host+old FW
the TPC power will be sent to FW via old WMI cmd with the
help of a service bit.
Change-Id: I9324299ca4f92f2adce92983385b66c04368fe55
CRs-Fixed: 2872238
Cache roam_fail_reason, roam_invoke_fail_reason and
roam_trigger_reason in mlme value for the vdev.
Host sends these values to userspace via a vendor
command after disconnection.
Change-Id: Ief7d027f69b0449254de3615b39829f346589095
CRs-Fixed: 2877230
Currently driver is asserting when INI file parsing is failed.
But it is expected to fail when system state is under reboot or
power off. This is because kernel disables file reading during this
reboot or power off.
To address this, Remove the assert based on the status of cfg_parse
API.
Change-Id: Ief92e1af5cc22d4bfad481953f203719a9c17343
CRs-Fixed: 2877051
Currently driver is using sap notify api of regulatory to
update channel list for disable channels list command
which is not the correct way as sap notify api is designed
to be used by sap releted operations.
To address above issue write a separate api for
disable channel list command.
Change-Id: If65c1f4226ced375b9abf3dcdbf21a70d4014e72
CRs-Fixed: 2872007
This state ensures that host will not issue connect from scan for
ssid completion. Thus if this fresh connect also issue scan for
ssid, then host drops connect command assuming disconnect is in
progress. If host gets disconnect request in between the scan for
SSID of previous connect request, host aborts scan and host blocks
next commands till the sme disconnect timeout.
Change-Id: Ia42332dfef73e4b6ea8f348894427e5fe81eac1d
CRs-Fixed: 2865047
Pre CAC feature requires parallel operation in 2.4GHz and 5GHz.
So this feature won't be supported when there is no DBS support.
Reject pre CAC request in this scanario.
Change-Id: Iece04ac0f73aed2dfa1dd9bfd4869d96004534ce
CRs-Fixed: 2870645
Currently when SAE single pmk lifetime expires, the userspace
issues disconnect. To avoid this, on reaching a threshold value
of the total pmk lifetime, the firmware will clear the single
PMK and initiate a roam scan to perform full SAE and derive
new pmk.
Add changes to:
1. Send the remaining single pmk timeout value in seconds to
firmware.
this is calculated as the diffence in pmk timeout configured by
userspace and the time passed after set_pmksa was done (which is
system timestamp between the set_pmksa timestamp and timestamp at
which RSO command is filled).
2. Add internal roam trigger for SPMK timeout trigger.
3. Set the roam score delta value as 0 for SPMK timeout roam
trigger.
Change-Id: I62c2ddbbfeb2811a4342d41f2bdaa8d988568bcc
CRs-Fixed: 2869665
SAP stops working when it comes first and then sta connection
happens in non dbs HW mode
Allow SAP on non dbs HW even if the channel is safe or
lte-coex enabled.
Change-Id: I3e80b423ccb30fdb5e53a6d2aff961162b316e1c
CRs-Fixed: 2873957
Retrieve the stored TWT wake duration for a session for
to send it as part of get twt statistics response.
Change-Id: If3c23d05331d5dfb43f74f5380e81eaf2799d2e7
CRs-Fixed: 2859812
Enable FEATURE_HAL_DELAYED_REG_WRITE_V2 support for Tx rings
register writes and QCA_OL_DP_SRNG_LOCK_LESS_ACCESS support
for Rx rings register writes, for moselle platforms.
Change-Id: I6b2469d22a37a097fa721269d311c0076c3b89a0
CRs-Fixed: 2873528
Log page fault info to console for easy observation on third party
platform because the customer usually don't run cnss_diag_lite to
capture cnss logs.
Change-Id: I56a155844837792f08692703d28326fe9543c977
CRs-Fixed: 2870335
In func aead_decrypt_assoc_rsp(), it calls
find_ie_data_after_fils_session_ie() to find IE pointer after
FILS session IE from the frame payload.
There is possibility of integer underflow if frame payload length is
less than FIXED_PARAM_OFFSET_ASSOC_RSP which may increase value
of buf_len variable in find_ie_data_after_fils_session_ie() and
cause OOB during parsing process.
Validate frame payload length with FIXED_PARAM_OFFSET_ASSOC_RSP,
if it is less then return failure.
Change-Id: I78fbcfeaa1058fcf2a6fe47cd5c26390b54974af
CRs-Fixed: 2859024
Validate and process the country IE from the beacon frame.
Validate and process the TPE IE. Store the tx power values in the
vdev_mlme struct for future processing.
Change-Id: I57acca2257a263225d9bafb0f94e195a99224a60
CRs-fixed: 2841732
Add new lim api to calculate an array of tx power values. Include
hw limit from Fw and TPE values from IE along with existing
params to determine TPC power.
The new struct reg_tpc_obj in vdev_mlme object will contain max
tx power, center frequencies, number of power levels,
PSD power check, EIRP power, AP power type for 6G and TPE
power values and will be sent to FW via new WMI cmd
WMI_VDEV_SET_TPC_POWER_CMDID.
Change-Id: I80a2454c2ef0dbc3b1d69e8b233b1a56567ec1a1
CRs-Fixed: 2841873
Parse reg_info subfield present in he_ops IE from beacon on
6GHz channels to obtain AP's power type for STA.
In case of SAP, get the AP power type from SAP decision
engine and populate it in dot11f API.
Change-Id: Iec317ea35936e7a5c2372d1188fe5940afb0c28d
CRs-Fixed: 2869367
Pass a new flag to the Kbuild and add a compile flag
to enable the BUILD_TAG information.
Change-Id: Ic9bc331b64e7cbf627f5f99758f4d556328cda10
CRs-Fixed: 2865654