Free the tx descriptors borrowed by direct switch
back to regulartx desc pools.
Change-Id: I2898e57ce5eff54c1787dbebd166482d9fbfc585
CRs-Fixed: 3444334
In the AFC Enterprise mode, the AFC response-payload may need to be
reset from host. The payload reset is done by sending
WMI_SERVICE_AFC_RESET_SUPPORT subtype in the WMI_AFC_CMD to the target.
In response, the target sends the WMI_AFC_EVENT_TIMER_EXPIRY event with
WMI_AFC_EXPIRY_EVENT_SWITCH_TO_LOW_POWER_MODE (in indoor deployment) or
WMI_EXPIRY_EVENT WMI_AFC_EXPIRY_EVENT_STOP_TX (in outdoor deployment)
event subtype to the host.
Earlier, the WMI_AFC_EVENT_TIMER_EXPIRY event was sent only in
non-enterprise mode. Now, since it can be sent for both enterprise and
non-enterprise mode, we need to take care of 'afc_reg no action",
which is mandatory in case of enterprise mode.
Therefore, implement the following changes:
1) Call trigger_acs_for_afc only if afc_reg_no_action is not set.
2) Send the AFC payload reset event during SWITCH_TO_LPI and STOP_TX
event, and free the AFC payload received from the target.
3) Add APIs to register a callback to send the AFC payload reset event.
Change-Id: Ib5b3a6f51bbdf2061460fd957ca3c0ba66f23fa9
CRs-Fixed: 3462953
Add new QDF APIs to handle gpio, irqf and timer related
handling in TSF feature.
Change-Id: Iff6f85c6debe351c5533906559400b4a51333d4d
CRs-Fixed: 3469020
update the local ring mask after setting the service running flag
to avoid the concurrent access issues.
Change-Id: I209d22858f8ac7509b5337fdb1ebfe38699790e1
CRs-Fixed: 3461866
TWT requestor must set enable/disable for rTWT when device connects
to AP. Set r_twt_enable param in TWT enable operation.
Change-Id: I24c60802b49cef6486bd7df97c1833fd6d89aac1
CRs-Fixed: 3463468
For cases DP_11B_CCK_RATE, DP_11A_OFDM_RATE and
DP_11G_CCK_OFDM_RATE, variable num_mcs is not set and is
assigned 0 which is used as a divisor to get the MCS value.
To fix this, return 0 for above mentioned cases.
Change-Id: Ic1d2dce93a3aa55c323e1f75d30c5f9371822280
CRs-Fixed: 3479813
Get the bit value from ini config and populate the resource_cfg,
flags2 bit related to rf_switch which will be later passed via
WMI INIT command to FW.
Change-Id: Ic642dda55850a49944bcf43838c7c5c79bed3587
CRs-Fixed: 3475088
In the monitor mode case if some entry status entries are
not received then after the next monitor interface up host tries
to process pending old destination ring entries. As host drops
1 destination entry after processing 16 status entries if the entry
is not present in the status ring. which in case there is a high
number of old entries in the destination ring will result in the
destination ring getting full.
To fix the issue force flush monitor destination ring
during vdev delete.
Change-Id: Ie23a57add7b5bd372ab66f801e29e55cfacb5d4d
CRs-Fixed: 3411943
When FEATURE_RX_LINKSPEED_ROAM_TRIGGER is not defined,
function dp_rx_rates_stats_update declared without link_id argument,
this will get building error. Add the link_id parameter to fix too
many arguments of function call building error.
Change-Id: I311d520e106f2e6f9e2c11c76cc841840821ccae
CRs-Fixed: 3477778
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
The airtime stats last_update_time is getting updated within the loop
causing higher AC values to go out of sync.
Update airtime stats last_update_time after the loop
Change-Id: Icdb33335284e0a92b90c72099c18b6bc7690275c
CRs-Fixed: 3476253
When IPA_WDI3_TX_TWO_PIPES is enable and DP_MEMORY_OPT is disable,
compilation issue is seen.
Fix is to correct the syntax.
Change-Id: Ibd23555f1a8a782a937883510b1e56eb20581604
CRs-Fixed: 3471564
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
Currently g_instances_added is not decremented correctly
in scenarios where IPA callback fails. This prevents
freeing the g_ipa_config memory during deinit, causing a
memory leak. This change will ensure that the instance
count is decremented correctly as part of deinit
in both success and failure scenarios.
Change-Id: I40fd14f6f441d1314eebf8c5d33616c824398a6f
CRs-Fixed: 3472760
Fix the following 2 memory leaks in Rx monitor path:
1. When MPDU queue is empty and MON_BUF_ADDR_TLV is received,
then free page fragment memory.
2. In case of small size packets, 1 MPDU can have more than
2*QDF_NBUF_MAX_FRAGS fragments wherein each nbuf can have maximum of
QDF_NBUF_MAX_FRAGS frags. In this case, add the frags to nbuf in the
following way.
parent_nbuf (QDF_NBUF_MAX_FRAGS frags attached)
|
| (fraglist)
|
----> tmp_nbuf1 (QDF_NBUF_MAX_FRAGS frags attached) ----> tmp_nbuf2
(next)
Change-Id: I54e8162bf0b9da8629a3c80d123421fbeaf8df11
CRs-Fixed: 3453676
If host receive REO error code 0 - NULL REO queue descriptor from
REO exception ring, it will be raw data and likely spread across
multiple msdu buffers for amsdu packets. in this case, only the
last msdu will contain the valid rx msdu length, but currently host
use msdu length from head skb (msdu length is 0), then the sub-skbs
followed after head skb will be leaked as following,
(1) dp_rx_sg_create() fail to add sub-skbs into frag_list of head_skb,
then sub-skbs still exist in head_skb->next.
(2) As peer_id is not valid, dp_rx_null_q_desc_handle()->
dp_rx_chain_msdus_be() will configure head_skb->next = NULL during
DP_RX_LIST_APPEND, then all sub-skbs get leaked.
Get msdu length from last skb and overwrite it in head_skb, then
dp_rx_sg_create() will process all skbs correctly.
Change-Id: I1953afb4e3b44450ff5e8269ef0f4f0c38e1d446
CRs-Fixed: 3476534
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
Define a new attribute QCA_WLAN_VENDOR_ATTR_CONFIG_AP_ALLOWED_FREQ_LIST
to configure the full list of allowed frequencies for the AP operation.
The configuration is valid only from the next BSS start until the BSS is
stopped. The drivers shall filter out channels on top of this list of
channels based on regulatory or other constraints. This can be used to
specify user's choice of frequencies, allowed list of channels with
static puncturing feature, etc.
Change-Id: Ib74acf2df17d8eb0fb65febc3b3cf54c39de6fc4
CRs-Fixed: 3453682
Add a vendor feature flag for the driver to indicate support
for allowed frequency configuration in AP mode.
Change-Id: I5c4483b229fa68c89a80272ec1ae3f5a95452f6d
CRs-Fixed: 3454926
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