In independent repeater scenario when STA connects to root AP on different
channel as that of AP Vdevs, then txCSA is used to move the AP vdevs
to the new channel using FW_VDEV_RESTART.
If a ML-AP vdev is stuck in MLO_SYNC_WAIT state, then TxCSA is not
processed which would lead to MVR timeout.
Add change to handle FW_VDEV_RESTART event in SYNC_WAIT.
Change-Id: If7359a5a39ed9478c813b8eb0f97a6a0d07e1ba1
CRs-Fixed: 3477635
Export the wlan_reg_freq_width_to_chan_op_class() API.
API will be used by Change Id I69106463a587bf0717dbce3067b69bb7272ca976.
Change-Id: I3c751ccd6499bc0de48bdbb6086cf3ec7c8e9b88
CRs-Fixed: 3443845
If PMKID present in AP expires, AP rejects the PMKID based association.
Current design is to clear the cache using BSSID/MAC address of link
in such cases to let a fresh SAE authentication to happen.
But host driver stores PMKSA with MLD address for ML BSS.
Adapt to the same and update PMKSA cache clear APIs to use
MLD address instead of link address.
Introduce new API which return the legacy address for non-ML
association and MLD address for MLO association of the BSS peer.
Use this API to get the correct entry from PMKSA cache to delete.
Introduce new utility API to fetch the MLD address from scan entry.
Use this API to get the MLD address of the ML candidate.
Change-Id: Id35a3937ba6649e8ba7ae8f849ac1ed2a9cc83f8
CRs-Fixed: 3453839
Fix QCA5332 256M profile compilation by featurizing
WLAN_MGMT_RX_REO_DEBUG_SUPPORT. Make sure compilation passes when
WLAN_MGMT_RX_REO_DEBUG_SUPPORT is disabled by adding stub functions.
Change-Id: I10dcba7cdb08ba5b74ef32546640d0d713acd84a
CRs-Fixed: 3437018
From the driver, call wlan_mlo_dev_t2lm_notify_link_update()
API whenever there is a link update happens using T2LM.
Change-Id: I51be6eafcb558bcf54919bead8c93227c33be194
CRs-Fixed: 3431540
In the T2LM context status code was used as 1 byte.
As per ieee802.11 spec, Status code value is 2 bytes.
Hence, add the changes in T2LM code to use the status
code as 2 bytes.
CRs-Fixed: 3464786
Change-Id: I4dd54d8a12f3bb1ca493ee0e9b1ec20b3590d97b
Add device Id and target type checks for qcn6432 target
compilation
Add CFR and spectral support for QCN6432
Change-Id: Ic908fa768aa1be7cfc40be7fcc7f9ca6aa85aaa6
CRs-Fixed: 3351747
Change WLAN_UMAC_MAX_AID for reserving 1992-2007 value
from AID pool for 11az TBR RSTA ranging.
Change-Id: Iac2b198810cef975daa1cff7cb7012ad2a2f9df4
CRs-Fixed: 3468769
Do not use API to do variable initialization job.
Otherwise there is built error in some platform.
Change-Id: I1cf105adb72f890f167343d491fff832a2e16729
CRs-Fixed: 3471557
When we receive a negative EIRP value from AFC APP with UINT, we treat it
as a positive value. See the following reasons why EIRP power value
was changed when we received it as a UINT.
1. In the reg_find_eirp_in_afc_eirp_obj function, the afc 'eirp_power'
(16-bit) value is in units of 0.01, and it is an unsigned integer. For
example, if the negative value is "-1400" then it becomes "64136". With
this value, when we try to get the original EIRP value using division
(eirp_obj->eirp_power / EIRP_PWR_SCALE(100)), it returns "641", but the
expected EIRP value is -14.
2. In the reg_get_sp_eirp function, both the variables 'afc_eirp_pwr'
(8-bit) and 'reg_sp_eirp_pwr'(16-bit) are declared as unsigned integers.
For example, when "-14," is assigned to "afc_eirp_pwr", it becomes "242".
And assuming 'reg_sp_eirp_pwr' is "36", the minimum of the two variables,
using QDF_MIN(afc_eirp_pwr, reg_sp_eirp_pwr), becomes "36", but the
expected minimum is "-14 or 242".
Process the positive or negative EIRP values that are received from AFC
application. Receive it as an int instead of an unint and typecast it to
int when we check for minimum value from afc power and standard power.
Change-Id: I255225e1f68ab897d36f3d4fbd5e5815a862460b
CRs-Fixed: 3398501
Add APIs to init the TSF sync capability based on
WMI_SERVICE_MLO_TSF_SYNC service bit sent from FW,
per ML group.
Change-Id: Ie8ca48f8f6065f02eefaea85ad967e32d09787fc
CRs-Fixed: 3470139
Add a new wrapper API to send peer-level negotiated
tid-to-link mapping to FW as the existing API to send
the mapping received from the beacon/probe response
uses ML dev context whereas the new API uses ML peer
context.
Change-Id: Ifada5600e9524585c69847f332ed0280fd316813
CRs-Fixed: 3423127
If link vdev roam sync failed and new dp mlo peer wasn't created,
assoc vdev roam sync was still handled, dp peer update failed
and asserted for mlo peer not found.
To fix it, if link vdev roam sync failed, return to trigger HO_FAIL,
don't handle assoc vdev roam sync.
Change-Id: I47aa70723cd741839cdb8fb21d446730a8ed80e5
CRs-Fixed: 3468553
Export wlan_reg_get_freq_range() and wlan_reg_get_freq_range() APIs
to be invoked by other modules.
Change-Id: I2de7acf395011bdcc20100fc5980ab69f2b9fbeb
CRs-Fixed: 3459316
reg_set_ap_pwr_type() API is invoked per pdev and the default ap power type
is set for all bands of the pdev (2.4 GHz / 5 GHz/ 6 GHz). Hence, the
user space command g_ap_power_type retrieves SP Power mode for 2.4 GHz
and 5 GHz pdev in outdoor deployment mode.
Since power type is valid only for a 6 GHz pdev, check if the chip
supports 6 GHz channel range and set the power type.
CRs-Fixed: 3459316
Change-Id: Ib5038d5d019ab9ffaa6a607916e5187ecdbd4e2b