When CE tasklets and NET_RX gets scheduled on same CPU,
NET_RX is throttling CE tasklet resulting WMI timeouts.
To avoid this affine CE irqs to gold cores, so that CE
tasklets will get enough CPU time.
Change-Id: Ided81a0565958aca6611eba911824c3485eca472
CRs-Fixed: 2933335
Add new reason code WMI_HOST_ADD_TWT_STATUS_SCAN_IN_PROGRESS
to handle add dialog rejection due to scan is in progress
at firmware.
Change-Id: I30c3d1096690bd0cb7a669206f087e006c23ea44
CRs-Fixed: 2923289
The earlier logic for scanning non-inheritance IE fails if
non transmitted bssid profile has any extension element
such as MU EDCA before the extension element with
non-inheritance IE.
Since MU EDCA is also an extension element and it does not
have noninheritance element id in it, the logic used to fail
as the driver does not check further for any other extension
element ID in non transmitted bssid profile. Because of this
the IEs part of non-inheritance list used to get inherited,
causing disconnection issue.
With current fix, the scanning for non-inheritance IE has been
taken care properly. Driver will go through the non transmitted
bssid profile until it finds the extension element with
non-inheritance element ID in it.
Change-Id: Ib4346600a880a8390c6d023cf403ed18c62406d2
CRs-Fixed: 2935065
Add country code check for ETSI domain, in other words
UK, since only UK supports 6G in EU as of today. The
TPC power calculation API calls this function to check
if programmed ctry is GB to allow STA to use VLP mode.
As and when more EU countries support 6G, the checks
will be appended to this API.
Change-Id: If985f3f64fc806cf1875f798ff3a86667a0861b8
CRs-Fixed: 2933678
Driver gets vdev by wlan_objmgr_pdev_get_first_vdev and returns wrong
vdev in some platforms, and then gets wrong channel/phy_mode. This
change gets vdev by id and fix this issue.
Change-Id: I814d516361238afbd0345bc362c286d1cb55a7d4
CRs-Fixed: 2933525
When enhanced stats are enabled/disabled, dp_mon_filter_update () API
sets/resets MON_BUF ring filters also, this is leading to connection issues
traffic stall on Rx side
Set/Reset MON_BUF ring filters when monitor mode is enabled
Change-Id: I0de7be81465b11224b95c0918b4e8c8e339e3802
add ssn_updates_count to dp_soc_stats rx err stats.
Also add bar fail count on rx tid update during
bar handling.
Change-Id: Ic9a963c8d29ace2087e63cba56bc0d7e40907e1a
CRs-Fixed: 2918806
When nbuf is freed via dp_rx_buffer_pool_nbuf_free, the
nbuf is enqueued to emerg_nbuf_q always even in the case
where the emerg_nbuf_q is not initialized. This will result
in NULL pointer dereference when any nbuf is enqueued to
emerg_nbuf_q.
Fix is to add initialization check before adding the nbuf
to emerg_nbuf_q and free the nbuf if emerg_nbuf_q is not
initialized.
Change-Id: I075b3b93203eec21d44ea3967b5f46d59c291a14
CRs-Fixed: 2934593
Previously, for high accuracy scan,
configured scan policy SCAN_DBS_POLICY_FORCE_NONDBS
takes more time to scan.
For DBS HW, to improve scan time, this should be
changed to SCAN_DBS_POLICY_DEFAULT.
Change-Id: I692e2a8b4fd9c97b526197edc57b830fa091a456
CRs-Fixed: 2927022
Add support for Rx refill ring history, maintain records of refill info
during RXDMA ring replenish.
Change-Id: I034014eacfc510ec6f416fca601fa864326de9c2
CRs-Fixed: 2930005
Currently, excess logging is causing a crash when enqueuing
of Tx MSDU descriptor to HW failed.
Rate limiting the log messages to avoid the crash.
Change-Id: Ibb230ce03c23518b6f7feda61a49bf155c7ddc69
CRs-Fixed: 2933002
Same WDI subscribe event can be added multiple times to event list
since this is triggered by user control this will result to undefined
behaviour during events handling.
To avoid this add check to detect duplicate entry before adding
to list and reset list elements once removed from list.
Change-Id: Iaf23927f8439d4ac503776b915a8fe8cb6abfec5
CRs-Fixed: 2931068
The object manager global lock is used in few
debug APIs. In these instances the log is taken
only on the local copy and the updates are happening
on the local copy without the lock.
So there is nothing that is protected by taking these locks
and there is also a scenario where this lock is resulting in
deadlock, so removing these locks.
Change-Id: I583de096538a5f9c87cbcfa2b267e82630f3278f
CRs-Fixed: 2930205
Update some logs in the wifi positioning module to be debug prints.
This helps reduce unnecessary prints in dmesg.
Change-Id: I9828fb4c2360e7d25195130da0315d605c04c14b
CRs-fixed: 2928849
In the assignment of varaible expected_field_info_size with an expression,
there might be an issue of integer overflow.
To fix this issue add a check for the expression with UINT_MAX
before assigning the expression to variable expected_field_info_size.
Change-Id: Iaa58fc164655d5b074eef55f8fd78f83a71e3fdf
CRs-Fixed: 2825846
Read the file wifi_module_param.ini, in which wifi module params
are present and compare these module params with qdf module params
in qdf module init function.
If any of the module params belongs to qdf module is present,
then that particular module param is updted during qdf module init.
Change-Id: I76ef876f6c7be3cdffd93b6050a190438d60bf39
Separate the common fields of csi_cfr_header and update
the logic of calculating the cfr_metadata_len.
Move cmn header update code to single place.
CRs-Fixed: 2916901
Change-Id: I97d99df45f667f4ed3b80264b12d3d09a3bcae95
In the current code, host does not send the channel list information to
WIN LOWI application. LOWI application populates the TX power in OEM RTT
request frame from the host received channel list information. Since the
channel list was not received from host TX power was set to 0. This was
leading to low RSSI for RTT ack frames.
Send the channel list information of all the PDEVs and PSOCs to WIN LOWI
application to set a valid TX power.
Change-Id: I9b7d740b37349d092629aa2f9550555901fb4331
It is possible to hit spinlock vdev->peer_list_lock recursion if
running SSR case, the call stack is as following:
dp_vdev_flush_peers
dp_vdev_iterate_peer
qdf_spin_lock_bh(&vdev->peer_list_lock); -> first time lock
dp_peer_delete
dp_peer_delete_wifi3
dp_peer_vdev_list_remove
qdf_spin_lock_bh(&vdev->peer_list_lock) ->
lock again in same thread.
Replace it with dp_vdev_iterate_peer_lock_safe.
Change-Id: I40fe492d43b376b404b855a7e86aa2cd66ba1d22
CRs-Fixed: 2926284
Some times INI file is empty or wrongly formatted on device
and WiFi ON fails because of it and hence add a log message
to indicate INI file parse success or failure.
Change-Id: I2337fc4ffb4a443ac191f584e283fdc9699a4e04
CRs-Fixed: 2931228
The status of the IPA SMMU MAP/UNMAP operation is stored in the
result field of the mem info structure that is passed to the
IPA driver. Currently, this field is not checked for MAP/UNMAP
failures; when IPA HW accesses such a buffer for which
mapping is not correctly setup, it will lead to SMMU faults.
Check the result and assert(on failures) to avoid such issues.
Also, check if the physical address passed to the IPA driver is
non zero value.
Change-Id: Iec0702bdf4a07ea37e1213a33dc970028da654df
CRs-Fixed: 2928744
In case of one STA interface is active and/or the
secondary is about to come up. If host receives
CONCURRENT_DUAL_STA_POLICY vendor command with policy
PREFER_PRIMARY. Then don’t consider PCL weightage for
all subsequent STA connections. Due to this host/FW
allows all subsequent connections with the best
available candidate (either in DBS, SCC or in MCC).
Change-Id: Id200e1011ef8560b763ec1cbc3664666da6d395f
CRs-Fixed: 2915748
Define a new reason code in enum qca_wlan_vendor_hang_reason,
QCA_WLAN_TASKLET_CREDIT_LATENCY_DETECT, for tasklet/credit latency
detection.
Change-Id: I4852fc22f57d14d6eac30ddfd8361f2a63326981
CRs-Fixed: 2929164
obj_mgr_alert() function is currently used in
wlan_objmgr_iterate_log_del_obj_handle() to print and is causing
spinlock to be held too long and timing out. Thus, increase the
periodicity of LOG_DEL_OBJ_TIMEOUT_VALUE_MSEC to 10 seconds.
Change-Id: I00fb3a468d6035856efe07c08299c471f72ba863
CRs-Fixed: 2928906
Driver does not update bonded_chan_ptr correctly in
reg_get_320_bonded_chan_array api which may lead to undefined
behavior.
To address above issue, fill bonded_chan_ptr correctly.
Change-Id: I13ffe96ad855dbf97b72f32e982c73322a29626f
CRs-Fixed: 2929853
The firmware rejects the TWT setup request when scan is in
progress. Extend enum qca_wlan_vendor_twt_status to represent new
reason code for it.
Change-Id: I8576d8cce2fac62d9e3cf020a3dadee06ec14d5c
CRs-Fixed: 2923272
Sometimes firmware sends spectral events repeatedly with
wrong vdev. This causes continuous error logs are
written to kmsg.
Replace info prints in target_if_consume_spectral_report_gen3()
with debug level prints.
Change-Id: I2ca4be7d0d13e841a6dbd4efbc02ecd2b12893f8
CRs-Fixed: 2926759
The dp_tx_da_search_override API wrongly returns DA based
address lookup instead of SA based for station mode when
FEATURE_WDS build flag is enabled.
Fix dp_tx_da_search_override API to return SA based
address lookup for station mode.
CRs-Fixed: 2924299
Change-Id: Ibb0c2a6df5f73fd5a361900036316375fc29dbbd
In some platform the timer is not precise. NOL timer may take more
than expected. During this time When print nol is called, NOL left
time is negative.
Set NOL left time as 0 in print nol if it is negative.
Change-Id: Ic6aec5f7ee080625adb39ae75785a271ad782f6c
CRs-Fixed: 2926548
Agile scans (preCAC/RCAC) use the Agile Engine which is also needed
for the Agile spectral scan. Hence, both cannot run at the same time.
Currently, if Agile preCAC is enabled, Agile spectral scan is not
started. Do not start the spectral scan if either RCAC is enabled or
preCAC is enabled.
Change-Id: I242c28c2c3f8872ceab6314dde80361c283d3ac1
CRs-Fixed: 2922250
Introduce a QCA vendor command to configure the concurrent connection
policies when multiple STA interfaces are (getting) active.
Change-Id: I574880e526e4aa8e179b417fbcba6d7e9e9fcfb1
CRs-Fixed: 2915545
Access wlan_crypto_cipher structure if the key and cipher_table's
are valid. Also, added changes to avoid dangling pointer accessing
after deleting key.
Change-Id: Ia9a5942c9597f03eb1707d149797f33760eeac21
Replace below APIs used under CONFIG_CHAN_NUM_API
in DFS module with corresponding channel frequency
APIs as part of regulatory cleanup effort,
dfs_get_bonding_channels
dfs_is_en302_502_applicable
dfs_nol_timer_cleanup
dfs_remove_spoof_channel_from_nol
dfs_tlv_calc_freq_info
dfs_print_radar_found_freq
dfs_compute_radar_found_cfreq
Change-Id: I962449264fa76783ea83b271ca2e5fa67dfe478c
CRs-Fixed: 2916463
To avoid excessive logging, we whould not logs RTPM lock init and
deinit to the console. Thus, change the log level to debug.
Change-Id: Ib11045fe50f729b0580284fa913da48d3a59b323
CRs-Fixed: 2927959
If multiple MBSSID beacons fail during scan entry generation,
it can lead to flooding of the console.
Rate limit this print to avoid scheduler timeouts.
CRs-Fixed: 2918649
Change-Id: I71ed2dafcedc7da4be130569776870a2bbb6b28f
Currently a set of IPA2TCL and WBM2IPA rings is used for
IPA TX data path. Issue is when wlan is configured as
SAP-SAP DBS mode, slow 2G traffic will consume much more
TX resources and thus 5G traffic will have starvation,
which leads to severe degradation of DBS KPI.
Therefore separate IPA2TCL (SW2TCL2) and WBM2IPA (WBM2SW4)
rings are added to support alternative IPA TX pipe for 2G
traffic.
Change-Id: I4b648d0bcacbcde0b9b0a824516c1f06e3b0c7ad
CRs-Fixed: 2750079
The hw_index reading from the DDR by the RRI feature might be not
updated in time which might cause the excessive logging in the dmesg.
Change-Id: Ic9c3648b032ba59a6b7f92d8c27b63cb6a650381
CRs-Fixed: 2919867
Runtime PM for HTC layer has multiple cases of GET/PUT operations.
Adding runtime PM stats for HTC layer, this helps in debugging
RTPM GET/PUT out of sync issues.
Change-Id: Ib27efd73dce0bb5bd3ff030bd7ae1bc833f29610
CRs-Fixed: 2923250