Gráfico de commits

20274 Commits

Autor SHA1 Mensaje Fecha
Srinivas Pitla
c94e9f1b4d qcacmn: Change debug level of WSI stats prints
This change reduces the debug level of WSI stats prints

Change-Id: Icfdcd1f8b60afbb3b242ed034ae88e1975222773
CRs-Fixed: 3636955
2023-10-26 16:09:10 -07:00
Jinwei Chen
e8d518c82c qcacmn: fix TX completion ring NULL pointer dereference issue
If IPA is enabled, index 1/2 in array soc->tx_comp_ring[] will
not be initialized, but initialize index 3/4 instead, if access
to index 1/2, NULL pointer dereference issue appeared.

use soc->num_tcl_data_rings as number of TX completion ring
wlan host interested, it differs between IPA enabled/disable case.

Change-Id: I92b4e2c9971f93136a9f4e60ae3de32140aa2477
CRs-Fixed: 3647677
2023-10-25 23:29:34 -07:00
Mohammed Ahmed
162ac04ff7 qcacmn: cmn changes for sun compilation
Current code has compilation errors
when compiling for sun. Specifically
of_get_named_gpio_flags() was removed
from the newer kernel. So this change
removes function call on newer kernel
version.

Change-Id: I55d060f1dcae65dea1fc0043b98b03f2b10246df
CRs-Fixed: 3632175
2023-10-25 16:34:28 -07:00
Himanshu Batra
7dbcea96f9 qcacmn: MLO 3 link simultaneous tx transmission
MLO 3 link simultaneous tx transmission.

Change-Id: I1f92e49a5ea634f99e354dd02737c74bae20c483
CRs-Fixed: 3634563
2023-10-25 09:39:58 -07:00
Anirban Sirkhell
b69c6a113c qcacmn: Round-up average utilization of clients
Client utilization is computed as percentage. Round it
up to the closest integer value.

Change-Id: I324370db447fae8a462a146357b6a50510c7e0b7
CRs-Fixed: 3623584
2023-10-23 15:55:13 -07:00
Jianmin Zhu
0bc515f777 qcacmn: Fix HE score 0 issue
HE score is directly dependent on prorated_pcnt value.
With Change-Id: I812f5c322d36ba44f63d4e27b5ec65a2846b3265,
In "cm_calculate_bss_score", prorated_pcnt is initialized as zero but value
is never updated. This leads to HE score as zero always.

To fix this, retrieve the prorated_pcnt value from "cm_calculate_ml_scores"
before calculating HE score.

Change-Id: I64ff207d8935c5b2440d6fba07adc534c30891c0
CRs-Fixed: 3634652
2023-10-23 15:55:02 -07:00
Mukul Dhiman
90b7cc1e6f qcacmn: remove CONSTANT_EXPRESSION_RESULT with the constant value
remove CONSTANT_EXPRESSION_RESULT with the constant value

Change-Id: Iac209ffd93f415fff22383cb25863c73bd3be6a9
CRs-Fixed: 3631794
2023-10-23 05:59:17 -07:00
Aman Mehta
d4bf137aa0 qcacmn: Update optimization flag for rx avg rate
Update the branch prediction compiler optimization flag for
rx avg rate calculation from unlikely to likely.

Change-Id: I0abe10d27070292995e07914e75b9a137c6c91b7
CRs-Fixed: 3628056
2023-10-20 08:00:19 -07:00
Nagasai Bharat Gatkeshwar Sainoji
f291b79d0d qcacmn: Fixes in assert cleanup in Spectral module
Fix minor issues in assert cleanup and handle default case.

Change-Id: Ib267c2df711d56875e4f2793096958d1c8e561c3
CRs-Fixed: 3615628
2023-10-19 18:49:57 -07:00
Will Huang
d71a5eeb25 qcacmn: Remove head file which is not required from c file
wlan_hdd_object_manager.h head file was added by mistake, remove it
from wlan_cfg80211_afc.c.

Change-Id: I4747a494d4a35e9b2915676e50e1e4e8559d7486
CRs-Fixed: 3640409
2023-10-19 18:49:47 -07:00
Jeevan Kukkalli
959b66b917 qcacmn: Avoid memzero operation in monitor interrupt handling
Avoid ppdu info structure memzero operation while handling
monitor interrupts. ppdu info structure can be memzeroed
from workqueue context

Change-Id: If2436f7448780926f685ed6a00e14efa68cbfc6d
CRs-Fixed: 3619199
2023-10-19 14:43:06 -07:00
Himmat Lal
9bad623d07 qcacmn: Add WMI support for ulofdma_rtd feature
Add WMI support for ulofdma_rtd feature

CRs-Fixed: 3630903
Change-Id: I1359ea807b072dc7e53a68e1e823944927547afc
2023-10-19 14:42:55 -07:00
Yu Tian
253c31efe9 qcacmn: Avoid to poll FW diag CE if it's got scheduled
CE drain is coming from suspend path, which may cause dead
lock with SIRQ context. This change is aimed to avoid CE
drain if such CE tasklet has been scheduled.

Change-Id: I66e4b839a4f9c33ccc0948ea2ac5300b99266df9
CRs-Fixed: 3627474
2023-10-19 10:15:18 -07:00
Jyoti Kumari
a1b2495738 qcacmn: Reset scan chan info if no scan entries are present
Scenario: Turn on and off XPAN multiple times and in between
of this, bring all interface down.

When XPAN gets turned on, it will run ACS algorithm either on
new scan results or previous scan results which are having
last_scan_ageout_time less than 30sec to select the best
channel. If multiple times ACS request comes then driver should
select the same previous channel if it's scan time is less than
30sec. But in this case, driver was selecting different channel
when all channels were recently scanned.

This is because, in some scenario, the number of scan entries
was becoming 0 which causes ACS to select new channel even the
previous selected channel were recently scanned.
Reason for becoming number of scan entries as 0 is when all
interface goes down, stop modules will get call which results
to flush out the psoc. As part of psoc flush out, it will remove
all scan entries as well. But driver is not resetting the
last_scan_ageout_time when no scan entries are present. Hence,
it will not for new scan again and later all channels were having
same score after applying ACS logic. This led to select first
from scanned list.

As part of fix, reset the last_scan_ageout_time when no scan
entries are present.

Change-Id: I8e021ecf22047661076e11302998a42c029f8b37
CRs-Fixed: 3625075
2023-10-18 22:47:46 -07:00
Jyoti Kumari
a50ca46487 qcacmn: Allow scan on same mac channel where LL_LT_SAP present
Currently, scan on same mac channel is not allow where
LL_LT_SAP is present.

But as part of this change, allow scan on same mac channel
where LL_LT_SAP is present.

Change-Id: I0c781caa70bf5c95c0639218dd08a409ebeefbfc
CRs-Fixed: 3636119
2023-10-18 22:47:35 -07:00
Anirban Sirkhell
aa8c23c911 qcacmn: Fix OOB array access
User-ID starts from 0 and can go upto HAL_MAX_UL_MU_USERS-1.

Change-Id: Iedbc48f03d7375496f34f541c1cca25fef9336df
CRs-Fixed: 3629330
2023-10-18 22:47:23 -07:00
Pragaspathi Thilagaraj
310b6b1bfc qcacmn: Sort partner links for candidate given as BSSID hint also
For candidate entry which is given as bssid hint, the maximum
score CM_BEST_CANDIDATE_MAX_BSS_SCORE(20000) is given and no
other operations are performed. But for MLO connection
scenario, the best links should be chosen for association and
other links will go to standby.
This is not happening for candidate entry which is given as
bssid hint. So links with inferior score could be chosen as
partner links.

Sort the partner links based on score for candidate which is
given as BSSID hint also to choose partner links with better
score.

Change-Id: Iac50778b7e66c65727c788ace0885f5e88cb4159
CRs-Fixed: 3636673
2023-10-18 22:47:13 -07:00
Shashikala Prabhu
0a0e0f6f7b qcacmn: Add API to update peer-to-peer level negotiation
When Mapping Switch Time(MST) or Expected Duration(ED) expires the
peer-to-peer level T2LM negotiation will be discarded. Hence, add a
callback to update the peer-to-peer level T2LM negotiation data
structures on MST and ED expiry.

Change-Id: I873e07918941ea16c90fb40445b5c032abe9676b
CRs-Fixed: 3640538
2023-10-18 04:25:41 -07:00
Shashikala Prabhu
608e4120f0 qcacmn: Use the correct offset to fetch STA profile subelement
STA info length subfield of STA info field indicates the number of
octets in the STA Info field, including one octet for the STA Info
Length subfield.
In the current implementation, one extra byte is added to STA info
length subfield to access STA profile subfield. Due to this, unable
to extract CSA, ECSA and MCST IEs from the STA profile.

To fix this, don't add WLAN_ML_BV_LINFO_PERSTAPROF_STAINFO_LENGTH_SIZE
to offset field to access the STA profile subelement.

Change-Id: I99fb3c5d1bfb9b3bf414fc0b778d724e98a3c7ae
CRs-Fixed: 3640538
2023-10-18 04:25:30 -07:00
Karthik Kantamneni
6f36269b7a qcacmn: Don't return error when mon status ring replenish fails
Don't return error even when host fails to attach single
buffer to monitor status ring, because in ring process path
buffer attach should be taken care if not done in replenish path.

Change-Id: Id032959234a66d3eb4c35819f760d37eb92a08be
CRs-Fixed: 3634756
2023-10-18 00:53:02 -07:00
Abhinav Kumar
4653c0ac9e qcacmn: Send proper freq during a connection failure
Currently host fills channel frequency in connect response
buffer either by frequency of selected candidate or
frequency present in connect request. Mostly upper layer
sends a connect request with frequency = 0. So in case if
connect request fails due to “no valid candidate found”
for connection and with reason "Unspec failure", host
sends frequency = 0 (present in connect req) to upper
layer via an event EVENT_CONNECTIVITY_LOG.

Fix is if frequency present in connect request use
frequency else use frequency hint present in connect
request to fill connect response buffer.

Change-Id: Ic6eaf6cd26587bd2051c4449038009f08b9e2fad
CRs-Fixed: 3638648
2023-10-18 00:52:52 -07:00
Shreedhar Parande
ef640697c4 qcacmn: Add API to check active link in all MLDs
Add API to check active link in all MLDs.

Change-Id: Iec05b37543718f2f79dab0fa0201aac93431d46f
CRs-Fixed: 3635226
2023-10-18 00:52:40 -07:00
Aman Mehta
37e5a76c07 qcacmn: Add ini to control rate filter for rx avg
Adds ini field to control the filter for rx avg rate calculation.
	0     : Filter Disabled
	11000 : Max rate filter (in kbps) supported for filter

Change-Id: I6ae88b7af3d4c1fae033101e77b308949e5b3d1e
CRs-Fixed: 3628056
2023-10-18 00:52:30 -07:00
Linux Build Service Account
f92a6676c0 Merge "qcacmn: Support 5 GHz high RSSI roam" 2023-10-17 17:40:04 -07:00
Linux Build Service Account
a37c07953b Merge "qcacmn: Fix standby link removal fail" 2023-10-17 17:40:01 -07:00
Linux Build Service Account
e24451093c Merge "qcacmn: Possible NULL vdev access in get_cm_ctx_fl" 2023-10-17 17:39:57 -07:00
Srikanth Marepalli
2ed0f23533 qcacmn: Support 5 GHz high RSSI roam
Support 5 GHz high RSSI roam to higher band

Change-Id: Id757e33161177007a27d150e7fe595e8210849bc
CRs-Fixed: 3630716
2023-10-17 15:53:36 -07:00
Liangwei Dong
a725261a81 qcacmn: Fix standby link removal fail
Add callback mlme_vdev_reconfig_notify_standby to cld code to
handle standby link removal.
For standby link, it is going to be removed by AP, so don't
start link removal timer for it. Force inactive it to avoid
link switch to it.

Change-Id: Iae8eebeb2263b0057026c0e80223ef5c6b68a41f
CRs-Fixed: 3640204
2023-10-17 15:53:25 -07:00
Rahul Gusain
de24a36639 qcacmn: Possible NULL vdev access in get_cm_ctx_fl
Currently in cm_get_cm_ctx_fl, if caller passes NULL vdev as an
argument, then it leads to crash in driver.

To avoid NULL access, add vdev null check.

Change-Id: I37e1d095829b84ee75cc89d8dcf5fbe312c25035
CRs-Fixed: 3632944
2023-10-17 15:53:15 -07:00
Linux Build Service Account
2faf139b73 Merge "qcacmn: Extract band info from wmi_roam_neighbor_report_info" 2023-10-17 14:40:27 -07:00
Jianmin Zhu
34c894f480 qcacmn: Add API wlan_reg_get_next_lower_bandwidth
Add API wlan_reg_get_next_lower_bandwidth

Change-Id: Iff8f112cc848373ea7b0275b4a8613cd43047166
CRs-Fixed: 3639903
2023-10-16 22:38:06 -07:00
Sri Vidya Gunturi
55bf01b553 qcacmn: Support to Notify ML Reconfig completion
Support to send notification from host to user-space to notify
the completion of ML reconfiguration event to bring down a vap.

Change-Id: I35a8895f6de2970af339dd8b82177ce28ca56d95
CRs-Fixed: 3615539
2023-10-16 13:59:52 -07:00
Amit Mehta
1e13671be4 qcacmn: Rate limit error logs in dp_tx_desc_free
Currently in dp_tx_desc_free for default case
error logs are printed. these logs are not rate limited
which can result in excessive logging.

To fix the issue rate limit the error logs and print
additional information.

CRs-Fixed: 3633307
Change-Id: Ia7beaaac970a098c8c76620077e1f21fedf321ef
2023-10-16 08:18:10 -07:00
Jinwei Chen
d047565c37 qcacmn: Support watermark stats for TX completion srng
Support watermark stats for TX completion srng.

Change-Id: Id13bd12ec9c2723f5b5e5afffedcb939cd5e5d74
CRs-Fixed: 3635719
2023-10-15 22:17:35 -07:00
Abhishek Suryawanshi
ecf3b36a28 qcacmn: update WLAN_CFG_RX_BUFFER_SIZE and WLAN_CFG_RX_BUFFER_SIZE_MIN
updated WLAN_CFG_RX_BUFFER_SIZE and WLAN_CFG_RX_BUFFER_SIZE_MIN to address
Low Memory platform issue caused by customizable rx_buffer_size feature

Change-Id: Ice4b42a0e9ab3328fb4c84b4c002c892eb8ed5c9
CRs-Fixed: 3638006
2023-10-15 14:56:27 -07:00
Surya Prakash Raajen
1841269cfa qcacmn: Enable standby active support for non-be chipsets
Enable standby active support for non-be chipsets

Change-Id: I49c8dc17c45abc4f140d249aa596d9638f2f83b7
CRs-Fixed: 3621705
2023-10-15 14:56:16 -07:00
Himanshu Batra
f6c56895c1 qcacmn: Add support for vdev/peer create/delete cfgmgr message support
Add support for vdev/peer create/delete cfgmgr message support

Change-Id: I623b1339fe706ff4204199ff9e8745ebcdc9cae2
CRs-Fixed: 3636364
2023-10-15 12:11:57 -07:00
Aasir Rasheed
2ff56fd9e2 qcacmn: Add link info event status types
This change is to add link info event status types.

Change-Id: I5641dfdc4d50997948b133e29a46829ec41078ee
CRs-Fixed: 3630436
2023-10-14 18:10:24 -07:00
Sai Rupesh Chevuru
0975d3709e qcacmn: Delete the mld peer only when all link peers are deleted
During the target recovery avoid mld peer peer deletion
before all the link peers gets deleted.

if peers are deleted during the recovery DP will not receive
peer unmap event as FW is asserted, resulting peers will be
deleted form the mld link peer list where as available in
peer id to obj map. if primary soc goes for the recovery
then mld peer is getting deleted forcefully, where as other
link peer in non primary soc is having reference to mld peer
which is already freed

Change-Id: If4dcd822f4c9bc98757952725592eb6a3f64a5db
CRs-Fixed: 3625483
2023-10-14 08:38:56 -07:00
Himanshu Batra
d0faedd65a qcacmn: Add support for cfgmgr interactions
Add support for cfgmgr interactions

Change-Id: I9ac15639c61784e250318f290c47db4e840f8a13
CRs-Fixed: 3633890
2023-10-14 05:39:52 -07:00
Mukul Dhiman
9efe25420e qcacmn: resolve Unchecked return value
resolve Unchecked return value for dp_get_srng_ring_state_from_hal

Change-Id: Idfd3e0c52a9d582a797c96f00306552bbb014ce2
CRs-Fixed: 3627801
2023-10-14 00:01:19 -07:00
Santosh Anbu
0d9d0c4613 qcacmn: Initialize struct before using
Add change to initialize all members of the struct, as one of the member
is not updated in the callee function.
Coverity issue fix.

Change-Id: Ic0c2d70fa540fd81ae9094e49c2240ebd9b691b5
CRs-Fixed: 3632788
2023-10-14 00:01:08 -07:00
Aasir Rasheed
e448bbf71c qcacmn: Add QCA vendor attributes to indicate MLO capabilities
Add QCA vendor attributes to indicate various MLO capabilities supported
by the WLAN driver to userspace. These capabilities are usually reported
by the firmware during the initial bootup handshake with the driver.

Change-Id: If4b18e0a02623a7983b025e69094a1b8736fb429
CRs-Fixed: 3635733
2023-10-14 00:00:57 -07:00
Shashikala Prabhu
c57184e211 qcacmn: Fix the kernel warning seen in ch_switch_notify()
A warning seen in cfg80211_ch_switch_notify() for the kernel version
5.4.213. The reason is cfg80211_update_current_bss() is called for
kernel version 5.4.0.

To fix this issue, call cfg80211_update_current_bss() for the kernel
version greater than 5.4.0 and less than 6.0.0 kernel.

Change-Id: Ic131bfe3661556b836df6ba7566e8e9abc4deba5
CRs-Fixed: 3637354
2023-10-13 17:37:39 -07:00
Srikanth Marepalli
8e03aad368 qcacmn: Do not fill roam fail reason in roam success case
Firmware doesn't fill any roam fail reason in roam success case,
which would result in having fail reason value as '0'.
But driver ends up converting the reason '0' to 'unknown'.
So, convert the roam fail reason only in roam fail case.

Change-Id: I0fea2788673e049fd078bcc6200b9612e538ee37
CRs-Fixed: 3632850
2023-10-11 20:52:25 -07:00
Manikanta Pubbisetty
996e50f765 qcacmn: Fix compilation error due to missing break statement
Fix compilation error due to missing break statement in
dp_rx_err_handler_rh().

Change-Id: I774c46996f01b6d961488e22791c4935c49db743
CRs-Fixed: 3635098
2023-10-11 20:52:15 -07:00
Ashish Kumar Dhanotiya
9a73106903 qcacmn: Add bearer switch request in connect path
If LL_LT_SAP is already present and if STA tries to
come up on same mac, then it may result in data loss
on LL_LT_SAP as STA will need ROC on the connection
channel for some time, to avoid these data loss during
STA connection, add logic to switch the bearer for LL_LT_SAP
data to non-wlan and once connection completes, switch back
the bearer to wlan.

Change-Id: Ic44cd77b9b5e569350d697c33260cf5cec3652e0
CRs-Fixed: 3627643
2023-10-11 14:42:44 -07:00
Rakesh Pillai
fb93c36d8d qcacmn: Do not call stats_cb after vdev is deleted
Currently before calling the stats_cbk we do not
check if the vdev has been deleted or not. There is
a case where vdev might be deleted (but not freed due
to pending ref-count) and the osif_vdev will be freed
as a part of the delete sequence. In this case, calling
stats_cbk with dangling pointer to osif_vdev will lead
to an access to memory which has been freed.

To mitigate this issue, check if the vdev has been marked
for deletion, before calling the stats_cbk in tx completion
path.

Change-Id: I32ef68f45f172fc903ab597a62bb4b3e3cb0f574
CRs-Fixed: 3635454
2023-10-11 08:22:21 -07:00
Chaithanya Garrepalli
c88f3c2d9a qcacmn: Fix overflow issue with hlos_tid_override set
In dp_tx_fast_send_be() fix issue while updating
hlos_tid_override bit in TX descriptor

Change-Id: I470d5140585ad3abefcb1345b52dc0caa3cf6fe4
CRs-Fixed: 3631006
2023-10-11 02:13:08 -07:00
Namita Nair
552f04acdf qcacmn: Check return value of nbuf_map in tx_ipa_smmu_map
Currently the return status of qdf_nbuf_map_single()
is not checked in dp_tx_ipa_uc_attach(). This change adds
the check to ensure that each nbuf in the TX buff pool,
is successfully mapped before providing the nbuf
to be IPA SMMU mapped.

Change-Id: Ic40479af8f2eaa2ced87b20a25250844e5e146bf
CRs-Fixed: 3629564
2023-10-11 02:12:57 -07:00