Commit Graph

29586 Commits

Author SHA1 Message Date
Vinod Kumar Myadam
c2b848ae80 qcacld-3.0: Check for MLO IE presence only if STA is waiting for frame
Currently, host driver checks if MLO IE is present or not if an auth
frame is received in 11be station mode. But it's observed that some
APs send auth frame with invalid contents(e.g. missing MLO IE in the
frame) though it has already responded with a proper auth frame and
authentication is completed.

Host driver drops this frame and initiates a disconnection as the frame
contents are invalid. Auth node gpLimMlmAuthReq is accessed as part of
the cleanup. But host driver has cleaned up the auth_node when it
received the valid frame2. So, host driver can ignore the invalid frame
as authentication is already completed to avoid disconnection/access of
freed object gpLimMlmAuthReq.

Check for the MLO IE presence in auth frame only if driver is waiting for
the auth frame(auth_frame2) to avoid disconnect/invalid access of
freed auth_node.

Change-Id: I8c8f5e81331f684960f51df3f63f69e5905c05f2
CRs-Fixed: 3504684
2023-07-12 19:03:13 -07:00
Paul Zhang
3e9f7d3d0e qcacld-3.0: Stop TDLS peer_discovery_timer
For MLO TDLS, the discovery request frame is sent on
different links and peer_discovery_timer is started to
receive the discovery response frames from different
links.

One race condition is: the timer is running and then
vdev destroy happens. Then the timer callback could not
get the right pointer when timer is triggered.

To resolve this issue, stop the timer in the function
tdls_vdev_obj_destroy_notification.

Change-Id: I0b7aff14a599229cb5848b0b7eb9d2af53e6ad94
CRs-Fixed: 3554466
2023-07-12 19:03:08 -07:00
Arun Kumar Khandavalli
f7864c0c78 qcacld-3.0: Enabling link switch in kbuild
Include link switch source files in Kbuild.

Change-Id: If5c20399a550918add444fad9eafbdaf75cb823e
CRs-Fixed: 3530145
2023-07-12 19:03:03 -07:00
Rahul Choudhary
8b51936ada Release 5.2.1.73S
Release 5.2.1.73S

Change-Id: I39c09bc11d23a176ac644b8f79f8a2f98df3d6ff
CRs-Fixed: 774533
2023-07-12 15:39:03 -07:00
Paul Zhang
1ab4d89a23 qcacld-3.0: Init ret for wlan_cfg80211_tdls_mgmt_mlo
Currently ret is not initialized and it can return
uninitialized value in some cases.

Change-Id: Ic70ad295108cc89bea371b78f6f14ca356706d2b
CRs-Fixed: 3491253
2023-07-12 15:39:02 -07:00
Rahul Choudhary
652b015c9d Release 5.2.1.73R
Release 5.2.1.73R

Change-Id: I6c127d86888a10f87e8754d4338f9636f86b1f24
CRs-Fixed: 774533
2023-07-12 07:48:35 -07:00
Vijay Patil
c9520ce773 qcacld-3.0: Add change to replace free connect request API
In current scenario mlo_free_connect_ies() and qdf_mem_free()
use to free up connect request and sub memory.
Similarly wlan_cm_free_connect_req_param() also free up the
connect request and its sub memory.

So replace mlo_free_connect_ies() and qdf_mem_free() with 
wlan_cm_free_connect_req(). Also replace mlo_free_connect_ies()
with wlan_cm_free_connect_req_param() to avoid code duplication.

Change-Id: I37a930c3b7e63eaa8b9df9433fdc25b25d562a3c
CRs-Fixed: 3554198
2023-07-12 07:48:34 -07:00
Ashish Kumar Dhanotiya
2e488c3793 qcacld-3.0: Enable 11d on different vdev
Currently host enables 11d on different available vdev before it
sends the vdev delete command to the FW. Since 11d is already enabled
on existing vdev, FW, do not enable the 11d on this command on
different vdev.
For example in current issue, when host driver creates vdev0, it
enables 11d on vdev0. Now it creates vdev1. when host drivers tries
to delete vdev0, it sends 11d start command on vdev1 before it sends
vdev delete for vdev0. Since 11d is already enabled on vdev0, fw do
not enable 11d on vdev1. Now host driver deletes vdev0.
Since FW rejects 11d start on vdev1, 11d algorithm does not run
after vdev0 deletion.

To fix this issue, enable 11d on different vdev, once host deletes
the current 11d vdev.

Change-Id: If49a0ad62fb67a93b9f4049340a26e6f6b335f5c
CRs-Fixed: 3457642
2023-07-12 07:48:28 -07:00
Rahul Choudhary
f5d3f0020a Release 5.2.1.73Q
Release 5.2.1.73Q

Change-Id: Id1339fbbbd480a619fa0224f02306d4228075f5f
CRs-Fixed: 774533
2023-07-12 02:26:44 -07:00
Mohammed Ahmed
1899618ebc qcacld-3.0: Fix MAXTXPOWER command not applying on STA mode
Current code does not set MAXTXPOWER when using wpa_cli tool.
This is due to current code setting the tx param to the self
MAC address rather than the BSSID during STA mode.
Fix this by checking mode of adapter and setting appropriate
MAC address accordingly.

Change-Id: I32c1609812273184ddf582c404b1a5827c62ca7d
CRs-Fixed: 3552240
2023-07-12 02:26:44 -07:00
Liangwei Dong
fa9f2fa5c0 qcacld-3.0: Fix ACS downgrade BW issue
If the all of valid channels in ACS (filtered by PCL) don’t support
320 MHz, sap_sort_chl_weight_320_mhz should return failure code and then
sap_sort_chl_weight_all will downgrade BW to lower one.
But current code doesn't update valid_chans based on channel "valid"
or not in sap_sort_chl_weight_320_mhz, which causes the API
return QDF_STATUS_SUCCESS if some channels (not "valid") support
320 MHz.
"valid" means the channel is in ACS list(filtered by PCL).

Fix by check channel "valid" or not before update valid_chans.

Change-Id: Ia634f28e09f5446a0ca53aebef8af5c003b38002
CRs-Fixed: 3552093
2023-07-12 02:26:38 -07:00
Rahul Choudhary
0362d148b8 Release 5.2.1.73P
Release 5.2.1.73P

Change-Id: Id9474eb013f12bc0b6ee32685c7e7b32abff1cdc
CRs-Fixed: 774533
2023-07-11 12:48:56 -07:00
Liangwei Dong
11a102942b qcacld-3.0: Notify connection state change event
Notify connection state change event to policy mgr
to change force link mode accordingly.

Change-Id: I2da0f453ee1af67c95346f2dc23e9e757aa491b6
CRs-Fixed: 3525191
2023-07-11 12:48:56 -07:00
Aravind Kishore Sukla
61e6e88fff qcacld-3.0: Update eht nss in session on SAP
NSS info in eht is not updated to 1*1 after SISO
mode is enabled on SAP.

Update NSS info for all bandwidths in eht.

Change-Id: I3ee90c40f75d2bfed127a5c158cf1d05d46e7849
CRs-Fixed: 3456133
2023-07-11 12:48:51 -07:00
Rahul Choudhary
c404317417 Release 5.2.1.73O
Release 5.2.1.73O

Change-Id: Ia6236b5e0ab8e25d4bd867a72a5b62273e42e910
CRs-Fixed: 774533
2023-07-11 03:16:53 -07:00
Prasanna JS
d20796e882 qcacld-3.0: Add support to configure UL MU
Add support to inform peer enable/disable UL_MU
support in STA mode using OMI frame.

Change-Id: Ie12f4991654f7504802b4ae0fbdd26aecda1ee63
CRs-Fixed: 3546176
2023-07-11 03:16:53 -07:00
Amit Mehta
fe6f4d208b qcacld-3.0: Add UCFG API to get DP vdev stats
Add UCFG API to get DP vdev stats.

Change-Id: Icc0eab717ed02c544240379b8f5fcfa9d98a251a
CRs-Fixed: 3554687
2023-07-11 03:16:47 -07:00
Rahul Choudhary
c6454df63a Release 5.2.1.73N
Release 5.2.1.73N

Change-Id: Ice76c5eb72a6aa66b1c16dae9a5b16c073a38837
CRs-Fixed: 774533
2023-07-10 18:03:32 -07:00
Vijay Patil
94435f22df qcacld-3.0: Cleanup current peers upon non-11BE roaming also
Currently, all bss peers are cleaned-up as soon as ROAM_SYNC
indication is received when ML-roaming happens. This is to
avoid self-roaming cross peer issue where a peer that is
present on one vdev in the previous connection moved to other
vdev due to roaming to the same AP. So far the use case is to
roam from one set of links(e.g. 2 GHz + 5 GHz) to another set
of links (e.g. 5 GHz + 6 GHz) of same AP.

But due to recent enhancements to support non-wpa3 connections,
firmware does downgraded-roaming from 11BE to non-11BE mode.
Host receives ROAM_SYNC indication and faces self-roaming cross
peer issue in this case also.

Delete all peers even when DUT roams to non-11BE AP to avoid
this issue.

Change-Id: I9b1e63ebba85e5f2f19efc5e4608a51e06e77a40
CRs-Fixed: 3548398
2023-07-10 18:03:31 -07:00
Venkateswara Naralasetty
0246a1ba30 qcacld-3.0: add SWLM support for wcn6450
Changes required for SWLM support on wcn6450

Change-Id: I50e32d91fe45e31688cd1a11e5055a87a2fd7a4d
CRs-Fixed: 3540274
2023-07-10 18:03:26 -07:00
Rahul Choudhary
567d84cc19 Release 5.2.1.73M
Release 5.2.1.73M

Change-Id: Idff31cfef321f72475d56011ef152034a3929247
CRs-Fixed: 774533
2023-07-10 15:02:39 -07:00
Liangwei Dong
15c38e2b3e qcacld-3.0: Handle nlink force mode by link id bitmap
Add APIs to handle force link active/inactive by link id
bitmap. For N-link mlo STA (N > 2), some link may have no
vdev attached, we have to use link id bitmap to do force
active/inactive.
If the service WMI_SERVICE_N_LINK_MLO_SUPPORT is not enabled,
vdev based handler will be invoked.

Change-Id: I1c48a7227185923a38f3e2b75f1274df9a186437
CRs-Fixed: 3525174
2023-07-10 15:02:39 -07:00
Balaji Pothunoori
d92eb50e4f qcacld-3.0: Fill proper SGI for VHT Rx data packet
Due to limitation uCode always filling SGI as long in
rx_msdu_start_tlv.
This change is to update SGI for VHT Rx data packet which is
extracted from WMI_VDEV_SMART_MONITOR_EVENTID.

Change-Id: I5fcdc463ea2a6d83253e39cc377a2471aeb4e133
CRs-Fixed: 3459106
2023-07-10 15:02:34 -07:00
Rahul Choudhary
08cb2d94aa Release 5.2.1.73L
Release 5.2.1.73L

Change-Id: I8550aafb91ab3ae1926f7875039c78db6436bcf7
CRs-Fixed: 774533
2023-07-10 12:13:11 -07:00
Venkateswara Naralasetty
d70118f951 qcacld-3.0: Kbuild changes for hif delayed reg write
Kbuild changes for hif delayed reg write support for wcn6450.

Change-Id: I8e028acc50ac4c4d33203b91b24607e7ea2b79d1
CRs-Fixed: 3519709
2023-07-10 12:13:11 -07:00
Deeksha Gupta
84acf7d5a8 qcacld-3.0: Add hdd_deinit_mlo_interfaces under CFG80211_11BE_BASIC macro
Fix compilation issue, add hdd_deinit_mlo_interfaces()
under CFG80211_11BE_BASIC macro.

Change-Id: I337eaf4c67fb5e3e9b5995c5301e1a576302cff2
CRs-Fixed: 3552479
2023-07-10 12:13:06 -07:00
Deeksha Gupta
e139bd3f3b qcacld-3.0: populate num_max_mlo_link_per_ml_bss during WMI init
Set num_max_mlo_link_per_ml_bss during WMI init command.

Change-Id: I2eb5473d73476cb49ba9176be68a0ac20b3e44ba
CRs-Fixed: 3512395
2023-07-10 12:12:47 -07:00
Deeksha Gupta
e6770d16fb qcacld-3.0: Add new field for N-link MLO connection in wmi_service
Extends the wmi_service_ready_ext2_event_fixed_param
structure with a new field to support N-link MLO
connections.

The host will now calculate the maximum number of
links per MLD value by intersecting the firmware
capability and the ini value present in MLME component.
And this calculated value will be stored in the MLME
component.

Change-Id: I89bf3553781cd809cdb5496fbf0f68e59569033a
CRs-Fixed: 3512343
2023-07-10 12:12:41 -07:00
Rahul Choudhary
cf1271629f Release 5.2.1.73K
Release 5.2.1.73K

Change-Id: I66772ce23948a380faaf883204e61f2c8d6b7728
CRs-Fixed: 774533
2023-07-09 20:07:41 -07:00
Will Huang
57604f153e qcacld-3.0: Store and delete other SAP connection information if SCC
Currently only store and delete self SAP connection information when
get PCL for mode SAP, if there is other SAP doing SCC with it, the PCL
list may only have SCC channels, but if the SCC channel has unsafe
channel within bandwidth, it cannot move to other safe channel which
has bigger bandwidth.

For example, AP1+AP2 on channel 5240(BW 80 MHz) and AP3 is on channel
2462, COEX AVOID event come and both 5180 and 2462 become unsafe, when
AP1 is going to switch channel it will get PCL list only have 5240, so
it cannot move home channel but just shrink bandwidth to avoid unsafe
channels.

Fix it by also store and delete other SAP connection information SCC
with current SAP if get PCL from get safe SAP channel path:
wlansap_get_safe_channel_from_pcl_and_acs_range().

Change-Id: Ia52c6ac221293036f65173f38cf4b8436629492a
CRs-Fixed: 3534131
2023-07-09 20:07:34 -07:00
Rahul Choudhary
0d5459f3fc Release 5.2.1.73J
Release 5.2.1.73J

Change-Id: I7c8c8e2bd3f825a9148105559b838cf6325fc93b
CRs-Fixed: 774533
2023-07-08 11:10:48 -07:00
Aditya Kodukula
71bd19d765 qcacld-3.0: Update mlo per peer stats info
Update per peer stats info for mlo vdev station stats.

Change-Id: I5029b55511f9cfe1978301653b6f521e11f0352e
CRs-Fixed: 3552899
2023-07-08 11:10:48 -07:00
Aditya Kodukula
da22841484 qcacld-3.0: Add support for aggregated mlo ll_stats
Add support for sending aggregated mlo link layer
interface and peer stats to userspace.

Change-Id: I16c7a9effc017c466ba2de070916de77a4b6fba2
CRs-Fixed: 3531709
2023-07-08 11:10:43 -07:00
Aditya Kodukula
f71fc8b924 qcacld-3.0: Add support for cumulative mlo vdev stats
Add support for aggregation of vdev station stats
in case of mlo connection.

Change-Id: I387baa6971d5a16083a8e29257b4cfd1dbeba0d3
CRs-Fixed: 3531561
2023-07-08 11:10:38 -07:00
Liangwei Dong
414707e48b qcacld-3.0: Fix SAP CSA with invalid BW
If SAP is configured with non 802.11 BE phymode, don't
return 320 MHz BW in wlansap_get_max_bw_by_phymode.
Otherwise, CSA will fail because of invalid BW.

Change-Id: I6fdda48f464bb40b0b88484da4e89f9f91f547e8
CRs-Fixed: 3545596
2023-07-08 11:10:33 -07:00
Ashish Kumar Dhanotiya
749fd3fe37 qcacld-3.0: Update policy mgr device mode conversion API
Currently policy mgr api policy_mgr_convert_device_mode_to_qdf_type
accepts only QDF_OPMODE as an argument and converts it to
policy_mgr_con_mode. Also, name of this api does not reflect
the task this is doing.
With the new SAP mode for low latency low throughput SAP,
to convert the QDF_OPMODE to policy_mgr_con_mode, host driver
needs to know if it is ll_lt_sap or normal sap. To get this
information, update policy_mgr_convert_device_mode_to_qdf_type
api to accept the psoc and vdev id as parameters. Also, rename
this api to reflect the task this api is doing.

Change-Id: Idcf1321038ba4852d2aa3d8157b558423a738765
CRs-Fixed: 3524247
2023-07-08 11:10:28 -07:00
Rahul Choudhary
73a7bec9a5 Release 5.2.1.73I
Release 5.2.1.73I

Change-Id: I50606ef90c7f3d16ea77cd1a95c990661298298e
CRs-Fixed: 774533
2023-07-08 01:25:46 -07:00
Aravind Kishore Sukla
6ef6e18944 qcacld-3.0: Return success if new ADD Tspec cmd is same as old cmd
In present scenario, addTspec request is being rejected by the
driver with an error as there is no difference in addts parameters.

Return success instead of failure, if new add Tspec cmd is same
as the older cmd.

Change-Id: I605d2ebb398956f56ae8a69b97f758fb35c36fef
CRs-Fixed: 3540003
2023-07-08 01:25:46 -07:00
Jinwei Chen
fa01c6ee67 qcacld-3.0: Support pre-allocated memory for DP TX Mon Desc pool
Support pre-allocated memory for DP TX Mon Desc pool.

Change-Id: Ic4125c7e96ef7dfd5e24bc8b5e347ca0b307f5d8
CRs-Fixed: 3549444
2023-07-08 01:25:41 -07:00
Liangwei Dong
b0b68e4b63 qcacld-3.0: Defer force SCC if STA/CLI is disconnecting
When STA/CLI is disconnecting or roaming, the policy mgr
connection table may include a channel which is not final
channel after disconnecting/roaming. Force SCC logic may
use old channel of STA/CLI to compute target channel,
that may not be correct when STA/CLI channel is updated later.

Fix by checking any STA/CLI in transition state to skip
the force SCC.

Change-Id: Ia261b40e4b964025bc3dc22151c2ca0708b543b1
CRs-Fixed: 3543895
2023-07-08 01:25:33 -07:00
Liangwei Dong
6743d7d156 qcacld-3.0: Don't set mac address if p2p device is up
The current dynamic mac address updating feature doesn't
support p2p device which require self peer delete and create
without vdev delete and create.
Reject the set mac address if p2p interface is up to avoid
stability issue.

Change-Id: I8a9c60f77e227c44580ec15a3863c36f2f09a8e5
CRs-Fixed: 3543158
2023-07-08 01:25:28 -07:00
Yeshwanth Sriram Guntuka
6e32a9c1a1 qcacld-3.0: Deconfigure CDS before disabling scheduler thread
On direct link datapath init failure, CDS is
deconfigured after scheduler thread is disabled.
Umac_stop is invoked as part of hdd_deconfigure_cds
which posts a message to scheduler thread and since
scheduler thread is already disabled, the message
posting fails which eventually results in timer leaks.

Fix is to deconfigure CDS before disabling scheduler
thread.

Change-Id: If34cae802ff65ebba67adb6a06833e64da3efd45
CRs-Fixed: 3551233
2023-07-08 01:25:23 -07:00
Paul Zhang
afd5e847f9 qcacld-3.0: Add sanity NULL check for assoc_req pointer
When association reject happens, the pointer of
session->parsedAssocReq[sta->assocId] may be NULL in
function populate_dot11f_assoc_rsp_mlo_ie and causes
NULL pointer dereference issue.

To resolve this issue, add sanity check before use this
pointer.

Change-Id: I9747963a4916119268bfb00f0edfdf5e86ffe07d
CRs-Fixed: 3550655
2023-07-08 01:25:18 -07:00
Rahul Choudhary
bb49718b46 Release 5.2.1.73H
Release 5.2.1.73H

Change-Id: I610cbd090c84b300320fc67ea110fe863eb6bc28
CRs-Fixed: 774533
2023-07-06 14:52:14 -07:00
Abhishek Singh
88053d3ec2 qcacld-3.0: Remove unused structures from for set keys
Remove unused structures from wma_if.h and ani_sysytem_defs.h
for set key.

Change-Id: I68aff20694a4fc45fa61071bbc2ef4289351e9a9
CRs-Fixed: 3549004
2023-07-06 14:52:13 -07:00
Arun Kumar Khandavalli
c397dcd44f qcacld-3.0: Check if sta vdev is up before issuing power save
As part of the monitor mode start up sequence it disables
the powersave using the sta mode vdev without checking if sta mode
vdev is up or not.

Verify the sta mode status before issuing the disable power command.

Change-Id: I19b64385a864112465d341618601d42e8471eda9
CRs-Fixed: 3541250
2023-07-06 14:52:08 -07:00
Rahul Choudhary
95b813466d Release 5.2.1.73G
Release 5.2.1.73G

Change-Id: I9988322f4b3ada83cdb60dfa8c53bd13522bbe71
CRs-Fixed: 774533
2023-07-06 08:11:38 -07:00
Paul Zhang
7da360b2a2 qcacld-3.0: Setting epcs_pri_access after initialize
Setting epcs_pri_access flag should be after initialization or it
is overwritten.

Change-Id: Ia3018d35b9a4db5e00e187ca7f03817ee7596762
CRs-Fixed: 3549759
2023-07-06 08:11:38 -07:00
Rahul Choudhary
0ab34727ca Release 5.2.1.73F
Release 5.2.1.73F

Change-Id: I0e852cbb7df85557fa5801d925545ef92fcd7a9d
CRs-Fixed: 774533
2023-07-06 04:27:22 -07:00
Paul Zhang
df6fb6c453 qcacld-3.0: Set BW should backward compatible
Host updates channel bandwidth to the max supported bandwidth
on disconnection.
 hdd_cm_disconnect_complete_post_user_update
 -> hdd_set_mac_chan_width
 --> hdd_update_channel_width
 ---> sme_set_he_bw_cap

It causes that it could not support low BW, setting BW should
backward compatible to resolve this issue.

Change-Id: I05be526d701052c0147b5aa3ac1effa8d38b246f
CRs-Fixed: 3541945
2023-07-06 04:27:22 -07:00