Граф коммитов

20244 Коммитов

Автор SHA1 Сообщение Дата
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
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
Gururaj Pandurangi
cfbb3005ef qcacmn: Add a cfg set API to configure scan mode for 6 GHz
Add a cfg set API to configure scan mode for 6 GHz. This is
invoked in reset HE capability API.

Change-Id: If4891036dec3777d85f3584eef965ed65ececadd
CRs-Fixed: 3629445
2023-10-10 23:10:02 -07:00
Nandha Kishore Easwaran
15654da3ec qcacmn: Revert - Move lithium specific code into 1.0 files
This reverts commit I3504052e7d717bb6e26af1b3980c2bb926df9a9b

Reason for revert: 2.0 tx ops registration failure

Change-Id: I1c27fb337e33b6533185a52a809f2b13b09edf45
CRs-Fixed: 3636070
2023-10-10 19:37:47 -07:00
Ruben Columbus
70b5c653d0 qcacmn: set customizable rx_buffer_size
introduce custom rx_buffer_size from INI within the bounds of
2048-4096

Change-Id: I17ad727cea74fc559d6407d3c8662cb6a4cd6b0a
CRs-Fixed: 3631271
2023-10-10 19:37:37 -07:00
Varsha Mishra
a4a989e5b7 qcacmn: Fix nbuf leak in tx datapath
Free nbuf_clone before returning from dp_tx_mlo_mcast_multipass_send.
Since this API is allocating nbuf_clone, it has the responsibility
of freeing it.

Change-Id: I7a1334a1d941ec352533e788a65596a1b12ae08a
CRs-Fixed: 3628989
2023-10-10 19:37:26 -07:00
Chaithanya Garrepalli
47296136e3 qcacmn: replenish complete rx_refill ring in UMAC reset
In case of UMAC reset if in_use buffers are sufficient
to fill complete RX refill ring we are replenishing
only 1/3rd ring at pre-reset.

In case of low threshold interrupts disabled ring might
be never refilled. At post reset refill complete ring.

Change-Id: I0e4ed942120619ef357bc91f8cbbab8c1fd1b06e
CRs-Fixed: 3628996
2023-10-10 07:08:30 -07:00
Nandha Kishore Easwaran
c779207718 qcacmn: Move lithium specific code into 1.0 files
Move lithium specific monitor code into monitor 1.0 files.
Donot include 1.0 specific files when CONFIG_LITHIUM is not defined.

Change-Id: I3504052e7d717bb6e26af1b3980c2bb926df9a9b
CRs-Fixed: 3615746
2023-10-09 02:13:18 -07:00
Abhinav Kumar
2d444f83ec qcacmn: Get center freq from chan center freq index
AP sends chan center freq index via Bandwidth Indication OPIE
in channel load request.

Call reg_compute_6g_center_freq_from_cfi API to get corresponding
center freq for 6 GHz and 320 MHz case.

Change-Id: I14bbfe75016e40189388f32fd207d21197bc989b
CRs-Fixed: 3629129
2023-10-08 22:44:44 -07:00
Aditya Kodukula
bab306058c qcacmn: Remove unnecessary assert in qdf_mc_timer_start
Currently, driver asserts whenever there is a request to
start timer with an expiration limit of less than 10ms. This
assert is unnecessary and driver should gracefully reject the
request. So, remove the assert in qdf_mc_timer_start.

CRs-Fixed: 3631848
Change-Id: Ib7c6297528d5ced3c61e6183ea8e62c12ea9cb0d
2023-10-07 03:05:25 -07:00
Venkateswara Naralasetty
55527a7c79 qcacmn: Changes required to enable monitor mode for Rhine architecture
Changes required to enable monitor for Rhine architecture.

Change-Id: Ib2558c9e61a3e55a68c0f612aed7a153feeb3f17
CRs-Fixed: 3631592
2023-10-07 00:01:33 -07:00
David Oladunjoye
d9fedf26a8 qcacmn: 2-link MLO Sap Simulation
Current SAP is unable to support multi-link MLO connection.
To unblock validation we simulate 2-link connection on SAP.

Changes are as follows:
	- Add support for multi-link during assoc
	- disable security check during assoc

Change-Id: I21b3de2298085d7e6676854a7be68608546ccc6c
CRs-Fixed: 3591638
2023-10-07 00:01:22 -07:00
Shashikala Prabhu
8713c007bd qcacmn: Update the current bss for non-assoc link
wdev->current_bss is not updated for a non-assoc link STA vdevs.
As a result, a WARN_ON error is seen in cfg80211_ch_switch_notify()
when it’s called for non-assoc link.

To resolve this, update the wdev->current_bss for non-assoc links
as part of connection and clean up this as part of disconnection.

Change-Id: I5020200fb927dd72d2e1bf0ed73e7a5750897619
CRs-Fixed: 3618438
2023-10-07 00:01:11 -07:00
Ruben Columbus
ab8c55ec38 qcacmn: correct casting and array write index
- correct uint32_t* casting to uint16_t* given that it can overwrite values
after is dereferenced
- correct check for "for loop" max iteration as it could pass and
overwrite max array size.

Change-Id: Id2b02d1eea8c4ce4d962160bea99358fe3ab5cf7
CRs-Fixed: 3622399
2023-10-06 18:25:57 -07:00
Amir Patel
ce99e4ef10 qcacmn: Add debug to catch non-consecutive duplicate descriptor
Add debug to catch non-consecutive duplicate descriptor in monitor

Change-Id: I253cecf472d5d75154f5791f85761da2f6d9076e
CRs-Fixed: 3628868
2023-10-06 15:30:22 -07:00
Amir Patel
a7be27e5de qcacmn: Fine tune monitor dup desc WAR
In existing host WAR, we set pre_desc to NULL. Due to this
duplicacy across PPDUs is not caught. remove setting prev_desc to
NULL.

Change-Id: Ib2c903eb768fa399c37e9b1d17b661b9ae1c1d2a
CRs-Fixed: 3629867
2023-10-06 03:04:45 -07:00
Venkateswara Naralasetty
627e19ca45 qcacmn: Update HAL generic APIs for Rhine architecture
Update HAL generic APIs for Rhine architecture to set the link
desc address and to get the rbm and cookie info from the rx desc.

Change-Id: I0e9f0553c19508a8404106ada780b37db2e78857
CRs-Fixed: 3631599
2023-10-06 03:04:34 -07:00
Amit Mehta
70b27b1e08 qcacmn: Add changes to account for encryption header size
This reverts Change-Id: I521b0990fe9e5746a8c8cfb29de7064cf51d0687
(qcacmn: Add fix for encryption fragment ping)

Original change has removed logic to Account for encryption
header size during 802.11 header decapsulation. Which is resulting
in DHCP failure in fragmented DHCP frames, as N/W stack is dropping DHCP
offer due to invalid payload.

Revert back to account for encryption header size during
802.11 header decapsulation

Change-Id: I246e19bf7637d3b66b5d0b3648c76d8765502ac6
CRs-Fixed: 3627678
2023-10-06 00:12:35 -07:00
Neha Bisht
f0e5c491a8 qcacmn: Use FAST_FLAG for simplified nbuf map operation
Use FAST flag instead of SIMPLE flag for simplified nbuf map operation

Change-Id: Ie4f0e6b691876eb04351efe9da94578b98c4258c
CRs-Fixed: 3629314
2023-10-06 00:12:23 -07:00
Guru Pratap Sharma
0e29c2b760 qcacmn: Handle mlo_grp_id value for rx_reo_release_frames
Handle mlo_grp_id value for rx_reo_release_frames so it cant be
more than WLAN_MAX_MLO_GROUPS

Change-Id: Id6761f125d1ce04d8b10753f86e1d2c1cb30c65e
CRs-Fixed: 3620074
2023-10-05 14:13:33 -07:00
Guru Pratap Sharma
184713cbaf qcacmn: Add check for dereferencing pointer shmem_arena_ctx
Add check for dereferencing pointer shmem_arena_ctx to avoid
array out of bound error

Change-Id: I4ebc6b9455b8ec2d33790199fd2deec267796dd0
CRs-Fixed: 3620074
2023-10-05 14:13:23 -07:00
Guru Pratap Sharma
e0a4d3fd12 qcacmn: Add check for dereferencing pointer shmem_arena_ctx
Add check for dereferencing pointer shmem_arena_ctx to avoid
array out of bound error

Change-Id: I6d7caddb3ed83fb5e7397de827cd57e8d238a640
CRs-Fixed: 3620074
2023-10-05 14:13:13 -07:00
Guru Pratap Sharma
539df4d507 qcacmn: Move pdev_obj_destroy_notification to avoid access freed pdev
Move wlan_mgmt_rx_reo_pdev_obj_destroy_notification before
wlan_objmgr_pdev_component_obj_detach to avoid access freed pdev memory

Change-Id: I4264773c4f6f92de36c827167ca5bd4f25b45041
CRs-Fixed: 3620074
2023-10-05 14:13:02 -07:00
Guru Pratap Sharma
0c9433f93d qcacmn: Move psoc_obj_destroy_notification to avoid access freed psoc
Move wlan_mgmt_rx_reo_psoc_obj_destroy_notification before
wlan_objmgr_psoc_component_obj_detach to avoid access freed psoc memory

Change-Id: I8141bef1bfddfbee1335a9adecb2aa1818c8611a
CRs-Fixed: 3620074
2023-10-05 14:12:52 -07:00
Guru Pratap Sharma
703a6d7261 qcacmn: Adding check for dereferencing pointer shmem_arena_ctx
Adding check for dereferencing pointer shmem_arena_ctx to avoid
array out of bound error

Change-Id: I0aa6682b63e2d2d564b285f7fac745df4b44f1d4
CRs-Fixed: 3620074
2023-10-05 14:12:42 -07:00
Karthik Kantamneni
3600a51a25 qcacmn: Fix RXDMA null buffer address access issue
During mon_pdev_init RX monitor status buffers will be attached
to status ring. In case of buffer allocation failure HP will be
pointing to null buffer address entry and during ring process
this index slot will be skipped. This will lead to RXDMA accessing
null buffer address descriptor.

Fix this by adjusting the HP of monitor status ring during RX
buffer allocation failures.

Change-Id: I290a724fefc6f65be058a84c97b9e6d51a08ef39
CRs-Fixed: 3268663
2023-10-05 07:01:00 -07:00
Nidhi Jain
0fc63202c0 qcacmn: Fix modpost issue due to mlo_mgr_get_ap_link_by_link_id
This change is to fix modpost issue due to mlo_mgr_get_ap_link_by_link_id
in 6.x compilation.

Change-Id: I2da64fd550f6dbafe87100ca80a280834f1f3f12
CRs-Fixed: 3603454
2023-10-05 07:00:50 -07:00
Nidhi Jain
99fa424053 qcacmn: Fix error in mgmt_rx_reo_get_context_from_egress_list
This change is to fix error in mgmt_rx_reo_get_context_from_egress_list

Change-Id: I842e43dea6da26a270c7031fd0071b4bb5fc10ed
CRs-Fixed: 3603454
2023-10-05 07:00:39 -07:00
Shashikala Prabhu
5e17e0ba24 qcacmn: Use the correct Psoc to derive wifi_pos psoc priv object
Currently, as part of wifi load, the wifi_pos psoc private object is only
allocated for the first PSOC (PSOCx) and this PSOCx can be accessed via
wifi_pos_get_psoc() to derive the wifi_pos psoc private object.
In the current code, when RTT is triggered on PSOCy, this psoc is used to
derive the wifi_pos psoc private object instead of PSOCx.
Since wifi_psoc psoc private object is not tied to PSOCy,
wifi_pos_get_psoc_priv_obj() returns NULL and this leads to RTT failure.

To fix this, check and replace ‘wifi_pos_get_psoc_priv_obj(psoc)’ with
‘wifi_pos_get_psoc_priv_obj(wifi_pos_get_psoc())’

Change-Id: I2acb91c4c80ad94df22390f3763e2d34c83b743d
CRs-Fixed: 3619836
2023-10-05 01:02:38 -07:00
Harsh Kumar Bijlani
8616350ebe qcacmn: Change order of SAWF enabled conditional check
Legacy SCS uses skb mark field to specify the priority i.e TID.
This feature is to be supported independent of SAWF framework.
Therefore change the order of SAWF enabled conditional check.

Change-Id: I445f697395c8140b3b9fd7f877dfa8d057f0eaa8
CRs-Fixed: 3630722
2023-10-04 22:03:15 -07:00
Vaishnavi Chekuru
c3697eb2a0 qcacmn: Changing the integer suffix from 1L to 1ULL
In expression 1L << err_code if the err_code is more than 32,
it is left shifting by more than 32 bits which will result in
undefined behavior and will be overflowed. So changing the suffix
from 1L to 1ULL as max value of err_code can go up to 63.

Change-Id: I6218a1634e982e4f25e5d92d55325ed9bb2658e9
CRs-Fixed: 3627050
2023-10-04 19:03:05 -07:00