Commit Graph

29675 Commits

Author SHA1 Message Date
Vijay Patil
633a3750af qcacld-3.0: Cleanup current peers upon secondary STA roaming
The secondary STA is non-ML type by default, so driver doesn't
create mld/ml_dev_ctx for the vdev corresponds to secondary
interface which is wlan1.

But in current scenario there is a check in the peer cleanup
API which always expects ml_dev_ctx. when secondary STA(wlan1)
roams from one AP to other AP, driver doesn't cleanup the old
peer due to this check and results a peer leak.

Delete all peers even when secondary STA roaming which avoid
this issue.

Change-Id: Ib759b43949651894e7a2aeef5255e46b7c9fa254
CRs-Fixed: 3562495
2023-07-21 01:16:17 -07:00
Deeksha Gupta
60cbf85341 qcacld-3.0: Remane enum attribute to QCA_WLAN_VENDOR_ATTR_TDLS_STATE_NEW_STATE
Rename enum attribute QCA_WLAN_VENDOR_ATTR_TDLS_NEW_STATE
to QCA_WLAN_VENDOR_ATTR_TDLS_STATE_NEW_STATE.

Change-Id: I744bb438cac284e439eb802be23f9883cfca463f
CRs-Fixed: 3564791
2023-07-21 01:16:12 -07:00
Amit Mehta
2a87c33052 qcacld-3.0: Free dp_txrx_handle in dp_rx_refill_thread_init fail case
Currently in dp_txrx_init during dp_rx_refill_thread_init fail case
dp_txrx_handle is not freed which results in memory leak issue.

To fix the issue free dp_txrx_handle in dp_rx_refill_thread_init
fail case

Change-Id: I0804154519707d5d558940cccaa699f639ae6704
CRs-Fixed: 3563740
2023-07-21 01:16:07 -07:00
Paul Zhang
012efd118b qcacld-3.0: Add logic to set wifi standard for vdev
Add logic to set wifi standard per the vendor
attribute QCA_WLAN_VENDOR_ATTR_CONFIG_PHY_MODE
and QCA_WLAN_VENDOR_ATTR_CONFIG_IFINDEX for vdev.

Change-Id: Ib03d233bf6f290859e2d754b3193ae5020d872d5
CRs-Fixed: 3554395
2023-07-21 01:16:02 -07:00
Sheenam Monga
136e98f779 qcacld-3.0: Update master channel list from set wifi config
Initially, if hotspot starts in world mode, it can come up in
2.4 GHz only. Later, the correct regulatory domain gets configured
in the host driver.
Even if this new reg domain supports higher bands and better channels,
the SAP will not be able to move since the ACS list configured
initially is for world mode(only 2.4 GHz channels).

To fix this, after the initial ACS userspace will configure the
ACS channels as per the band preference. Upon new country change,
the host driver will use this updated list to switch to a higher/
better band.

Change-Id: I60524e60798df656b86cbd883a31b00ccd210bc6
CRs-Fixed: 3453679
2023-07-21 01:15:57 -07:00
Rahul Choudhary
bcc225c58d Release 5.2.1.74T
Release 5.2.1.74T

Change-Id: Icdcb4f743df434f1258f000760e63b1a62394b60
CRs-Fixed: 774533
2023-07-20 19:18:46 -07:00
Shailendra Singh
16eaca8093 qcacld-3.0: Set user configured listen interval before going to sleep
Before the host triggers sleep mode, it configures listen
interval while setting power save parameters to firmware.
If user configured listen interval is present in host,
that configured listen interval is set while setting
power save params.

Change-Id: I158a547f95bca4750b5180840113c03a89ced17c
CRs-Fixed: 3528793
2023-07-20 19:18:46 -07:00
Paul Zhang
39dcbc8810 qcacld-3.0: Add logic to control WIFI standard per vdev
With these APIs, vdev connection is effected by the
WIFI standard version. For example, if wifi_std is
wifi6, then the connection will not use 11be feature.

Change-Id: I8f762f9cf16d876d5cf2847561b61c11a23e97b5
CRs-Fixed: 3554305
2023-07-20 19:18:40 -07:00
Rahul Choudhary
4a022b4acd Release 5.2.1.74S
Release 5.2.1.74S

Change-Id: Id09db0f3ec3cc249e433047d214cd1c7ef489a2a
CRs-Fixed: 774533
2023-07-20 13:39:26 -07:00
Vinod Kumar Pirla
149ccf8825 qcacld-3.0: Enable WLAN_HDD_MULTI_VDEV_SINGLE_NDEV flag
Enable the flag to move to single netdev multi vdev model.

Change-Id: I2d17111fa6512a740202004a0fe8bb2e191a76d5
CRs-Fixed: 3524055
2023-07-20 13:39:26 -07:00
Vinod Kumar Pirla
e65fd25c84 qcacld-3.0: Fix single netdev cumulative/per-link stats
To fetch per link stats or cumulative stats in case of single
netdev model where stats of each link will be retrieved from
respective link info pointer in adapter instead of multiple
adapters.

Change-Id: I0babe4611a593b218e8750cec6f397c6c8534ec6
CRs-Fixed: 3563617
2023-07-20 13:39:19 -07:00
Vinod Kumar Pirla
5c9b83bdd0 qcacld-3.0: Notify DP on VDEV dynamic MAC update
As part of dynamic MAC address update for VDEV, notify DP
component to update corresponding DP link's MAC address.
Upon successful VDEV objmgr update, call DP ucfg API.

Change-Id: Idbfb592b8b8aa55875071473411ecf30e92bc3c2
CRs-Fixed: 3549319
2023-07-20 13:39:12 -07:00
Rakesh Pillai
315a53eaa9 qcacld-3.0: Add ucfg API to update link mac addr
After moving to the single-netdev-multiple-vdev model,
the dp_link mac address needs to be updated as a part
of dynamic mac address update.

Add an ucfg API to update link mac address.

Change-Id: I96d3230f958c15cb576c881c02e60bd3a4fb0379
CRs-Fixed: 3563523
2023-07-20 13:39:04 -07:00
Rakesh Pillai
ecfe8c6f75 qcacld-3.0: Add API to find next def_link candidate
Add API to find the candidate for next default link.
This is used when the current default link is being
re-purposed or destroyed.

Change-Id: I98afd3ef2ac21d14ee6056f6329fbcf9a612959a
CRs-Fixed: 3519643
2023-07-20 13:38:58 -07:00
Rakesh Pillai
09e724c396 qcacld-3.0: Replace intf_id with link_id
Replace the usage of dp_intf->intf_id with
link_id from dp_link.

Change-Id: I1885ce300a0373172659ae8c38cb2ca54dda1a9c
CRs-Fixed: 3518898
2023-07-20 13:38:52 -07:00
Rakesh Pillai
1e093bec44 qcacld-3.0: Use dp_link in txrx path
Use dp_link in the core TX/RX path instead
of currently used dp_intf.

Change-Id: Id32a4053094fae844d190043d57f85a8e9659339
CRs-Fixed: 3518897
2023-07-20 13:38:46 -07:00
Rakesh Pillai
a3161f8f5b qcacld-3.0: Move vdev and vdev_lock to dp_link
Move the vdev and vdev_lock to dp_link, since
dp_link corresponds to objmgr vdev now.

Change-Id: Id1ef27911c4eaa3434fc2719a8f5951f00d31116
CRs-Fixed: 3518896
2023-07-20 13:38:40 -07:00
Rakesh Pillai
96ff75c0cd qcacld-3.0: Fix dp_get_vdev_priv_obj to return dp_link
Currently objmgr_vdev returns dp_intf, which is
now changed to dp_link.

Change-Id: Ib2be45cb821fb2d9ab9e32bcf485a74509e4040e
CRs-Fixed: 3518895
2023-07-20 13:38:34 -07:00
Rakesh Pillai
21052cf452 qcacld-3.0: Add dp_link data structure
Currently dp_intf is create on adapter level,
but corresponds to vdev. ML connection can have
multiple links for same adapter.

Hence introduce a new data structure dp_link,
which corresponds to the vdev, whereas dp_intf
now corresponds only to adapter/netdev.

Change-Id: Ia2bba89f425b64b4e404f6866a54fe0f6e05ad6d
CRs-Fixed: 3518894
2023-07-20 13:38:28 -07:00
Rahul Choudhary
81841ed178 Release 5.2.1.74R
Release 5.2.1.74R

Change-Id: I8dd10fb72f28df55ff64a597c6bac7a8d842b1b9
CRs-Fixed: 774533
2023-07-20 01:11:30 -07:00
Mohammed Ahmed
2d54cacbd7 qcacld-3.0: Fix vlan_map array out of bound
Current code has the potential to access an
invalid array index of vlan_map.
Fix this by properly bounding the array.

Change-Id: I8f2eb220f2dfe822ca9486a5a2b66ddf186e6d4a
CRs-Fixed: 3562607
2023-07-20 01:11:29 -07:00
Paul Zhang
7f78965c87 qcacld-3.0: Add API to restore or clear user set link num
Add API to restore or clear user set link num when SSR or
interface down happens.

Change-Id: I955937817481740dc3dd75b51d669ed36b5f74d2
CRs-Fixed: 3531260
2023-07-20 01:11:24 -07:00
Rahul Choudhary
3d79f440d1 Release 5.2.1.74Q
Release 5.2.1.74Q

Change-Id: Ibb20a366a63c583afed6d7392915d11573bdd523
CRs-Fixed: 774533
2023-07-19 16:54:13 -07:00
Paul Zhang
356959c1b2 qcacld-3.0: Set flag mcs_0_to_9 for rx/tx
For WFA test case, it resets the EHT CAPs and clear rx/tx
mcs_0_to_9 flag, then it sets BW supports 160 MHz which means
it also supports 20 MHz, but it does not re-enable flag
mcs_0_to_9 for rx/tx for 2.4 GHz 11BE and causes connection
issue.

To resolve this issue, set flag mcs_0_to_9 for rx/tx if 2.4 GHz
40 MHz BW supports.

Change-Id: I330a49293107ceb300e04ca258216b75c1904317
CRs-Fixed: 3561031
2023-07-19 16:54:13 -07:00
Rahul Choudhary
9467166430 Release 5.2.1.74P
Release 5.2.1.74P

Change-Id: Iaf440da99a0cb8ab781d86680f3fdac8a169c124
CRs-Fixed: 774533
2023-07-19 12:11:13 -07:00
Jianmin Zhu
94d8ff6aeb qcacld-3.0: Avoid NULL pointer dereferenced
Pointer 'hdd_adapter_get_mac_handle(adapter)' returned from call to
function 'hdd_adapter_get_mac_handle' may be NULL and will be
dereferenced.

Check gen probe rsp len with buffer size to avoid OOB.

Change-Id: I58db7107504193b6f04c762594891cd6693e6aa3
CRs-Fixed: 3561351
2023-07-19 12:11:13 -07:00
Paul Zhang
3630322189 qcacld-3.0: Export APIs for phymode/wifi std mapping
Exporting APIs for phymode and wifi standard mapping:
- hdd_phymode_to_dot11_mode();
- hdd_get_wifi_standard();

Change-Id: I3b47233d3b0388087a351adbac8aa9ed6d3c66ab
CRs-Fixed: 3554369
2023-07-19 12:11:07 -07:00
Karthik Kantamneni
638da26c32 qcacld-3.0: Add support to program dynamic FISA aggregation size
Currently FISA max aggregation count is fixed 16, but some
platforms can support different max aggregation count.

So while sending HTT FISA config if F.W is capable of programming
dynamic msdu aggregation sizes, then select max aggregation count
based on target type and send it to F.W.

Change-Id: Ic5212536024a3ceb0b2c4ad111172870f1825969
CRs-Fixed: 3542509
2023-07-19 12:11:02 -07:00
Rahul Choudhary
e36e99b637 Release 5.2.1.74O
Release 5.2.1.74O

Change-Id: I62bf485f931f4745322d16010da946683d48cab6
CRs-Fixed: 774533
2023-07-18 22:54:55 -07:00
Aditya Kodukula
928c3877ed qcacld-3.0: Refactor mlo peer stats cache logic
Currently mlo peer stats are not properly cached in the
hdd context. It creates an issue, when retrieved and sent
sent to userspace.

So, to resolve this issue, cache mlo peer stats locally,
and delete them after sending to userspace.

Change-Id: Ie1ecfd59c3ddb75c0a6553e6b1b7f521cd9265e9
CRs-Fixed: 3563408
2023-07-18 22:54:55 -07:00
Aditya Kodukula
b1969a2405 qcacld-3.0: Fix improper arguments for QDF_MAC_ADDR_REF
Currently in driver while using QDF_MAC_ADDR_FMT to print mac
address, the mac address reference provided to QDF_MAC_ADDR_REF is
incorrect in some cases. Fix all such instances.

Change-Id: Ib5d84b01542ebf04ee7d23fb65305036651a6a45
CRs-Fixed: 3556409
2023-07-18 22:54:49 -07:00
Vijay Raj
a6753114c3 qcacld-3.0: Validate vdev in target_if_nan_set_vdev_feature_config
In the api target_if_nan_set_vdev_feature_config (),
vdev is not validated before sending vdev set param cmd
to FW which results in crash for invalid vdev.

Validate vdev in the api target_if_nan_set_vdev_feature_config()
before sending vdev set param cmd.

Change-Id: I70ee56ae3c78f466c3757671c95b449925bb9fd2
CRs-Fixed: 3546457
2023-07-18 22:54:42 -07:00
Deeksha Gupta
de1338a8cf qcacld-3.0: Reset AP link info from MLO_MGR
In case of new candidate selection or another connect request,
reset the previous AP link info and later add new AP link info.

Change-Id: Id80ed2cb7b2a02af06492dedf9a9d07baf906cf4
CRs-Fixed: 3530705
2023-07-18 22:54:36 -07:00
Asutosh Mohapatra
0d6646b45d qcacld-3.0: Don't take rtnl_lock on same stack to avoid deadlock
Currently during station or ap interface up, host is trying to
take rtnl lock during wext unregister in case of any failure.
This leads to deadlock as it's caller has already taken the
rtnl lock.

To address this issue don't take rtnl_lock in hdd_open path.

Change-Id: I4c0189fad403d79059e3dacd8c35d7b68fd12114
CRs-Fixed: 3555397
2023-07-18 22:54:24 -07:00
Rahul Choudhary
5c1b932119 Release 5.2.1.74N
Release 5.2.1.74N

Change-Id: I1bf351f281b0ef49854f9df1186877c1f01ce1bd
CRs-Fixed: 774533
2023-07-18 12:49:13 -07:00
Aravind Kishore Sukla
5b7dc74446 qcacld-3.0: Add support to set sta dump feature set info
Add support to set sta dump feature set info

Change-Id: Ia9c77352a1c547da367a831a180e76fd06a6e469
CRs-Fixed: 3552902
2023-07-18 12:49:12 -07:00
Rahul Choudhary
dcfc51f49a Release 5.2.1.74M
Release 5.2.1.74M

Change-Id: I87f746138e591cfe4c3fdc9db8339644d57d51d5
CRs-Fixed: 774533
2023-07-18 09:50:35 -07:00
Jianmin Zhu
5ae9465946 qcacld-3.0: Allow SAP for PM_STA_P2P_GO_MCC_24_5
When STA 5GL + SAP 5GH in SBS mode, P2P Go start on 2 GHz, STA and
P2P Go are MCC in same MAC 0, so PCL index is PM_STA_P2P_GO_MCC_24_5_1x1,
when try to switch SAP channel to avoid MCC, PCL got is none, so SAP
failed to restart and stopped.

To fix it, for 2 ports like PM_STA_P2P_GO_MCC_24_5_1x1, when start/restart
SAP, change PCL to PM_SCC_ON_5_SCC_ON_24, allow it SCC with STA or P2P Go.

Change-Id: I7f05c1f430c6fd89a5055781604588366870e4f0
CRs-Fixed: 3561049
2023-07-18 09:50:35 -07:00
Rahul Choudhary
9222cc1cb0 Release 5.2.1.74L
Release 5.2.1.74L

Change-Id: I3cdb8e2606bac19236c9bc4e151cf726d51bf819
CRs-Fixed: 774533
2023-07-18 01:38:48 -07:00
Deeksha Gupta
96c4e8aaeb qcacld-3.0: Fill peer partner link info in peer_assoc_params struct
Below changes are handled as a part of this
1. After receiving the Probe response frame from AP,
   driver will update the links channel_info into the
   mlo_mgr context.

2. Fill the AP partner link info in struct peer_assoc_params.

Change-Id: Ibdc3c82707e2acd8bd1ad1610703077bc506bf65
CRs-Fixed: 3530280
2023-07-18 01:38:47 -07:00
Rahul Choudhary
566b1e492a Release 5.2.1.74K
Release 5.2.1.74K

Change-Id: I6d0a6895b19a2a7f2b971abefcc76cf3edb9b53d
CRs-Fixed: 774533
2023-07-17 22:37:03 -07:00
Aditya Kodukula
32694d5ca9 qcacld-3.0: Use QDF_MAC_ADDR_FMT to print mac address
Currently in driver, %pM is used to print mac address.
Replace all instances of it with QDF_MAC_ADDR_FMT.

Change-Id: Ibd575675804ab6545ed32fde2ec2b08caf837d83
CRs-Fixed: 3555007
2023-07-17 22:37:02 -07:00
Aditya Kodukula
5156c641ee qcacld-3.0: Replace QDF_FULL_MAC_FMT with QDF_MAC_ADDR_FMT
Currently in driver, two macros are defined to specify the
mac address printing format. Since both macros achieve
the same result, replace all instances of QDF_FULL_MAC_FMT
with QDF_MAC_ADDR_FMT.

Change-Id: I88b04fbaeba061a6272427e0daafcc132f53bb1e
CRs-Fixed: 3559489
2023-07-17 22:36:57 -07:00
Chunquan Luo
05133482ca qcacld-3.0: Avoid NULL pointer dereferenced
Pointer 'pre_cac_adapter' returned from call to function
'hdd_get_adapter_by_iface_name' may be NULL and may be
dereferenced.
Array '&param_val' of size 4 may use index value(s) large
than 4.

Change-Id: Ic66628f79a6118bc5ab4d6571f341b80e18c689b
CRs-Fixed: 3559886
2023-07-17 22:36:52 -07:00
Rahul Choudhary
8d6557a26d Release 5.2.1.74J
Release 5.2.1.74J

Change-Id: I1516b4089771724bad30ac9fc4ebd4259254102a
CRs-Fixed: 774533
2023-07-17 19:47:31 -07:00
Pragaspathi Thilagaraj
d324508e7d qcacld-3.0: Use AP channel width to fill OMN IE in assoc request
Currently the pe_session->ch_width is overwritten to maximum
channel width if the AP advertises 20 MHz ch_width, to mitigate
some interopebality issues with faulty AP that changes BW during
association. So save the AP channel width computed in
pe_session->ap_ch_width.

Use the pe_session->ap_ch_width to validate if the ch_width is
20 MHz to fill the IE.

Change-Id: Iafe60f8497fde946f0135a6586e524143f3902f5
CRs-Fixed: 3548484
2023-07-17 19:47:31 -07:00
Rahul Choudhary
2d45230b17 Release 5.2.1.74I
Release 5.2.1.74I

Change-Id: I6a38b0a97af0f00783de8221a07086b6e06dd4b3
CRs-Fixed: 774533
2023-07-17 13:24:41 -07:00
Aravind Kishore Sukla
303fd0563d qcacld-3.0: Update host version for feature set info
Update host version for feature set info

Change-Id: I0e3721335f95609dcb340bfcb52e114bc94efd40
CRs-Fixed: 3553221
2023-07-17 13:24:40 -07:00
Rahul Choudhary
31cabbcf22 Release 5.2.1.74H
Release 5.2.1.74H

Change-Id: I48c04456a2db5b0c4921255c8fad12a55a742741
CRs-Fixed: 774533
2023-07-17 10:38:38 -07:00
Deeksha Gupta
4941611135 qcacld-3.0: Send partner link info during peer_assoc_cmd
Send partner link info during peer_assoc_cmd

Change-Id: I64b7b6c9aee8d436ec813ae2b0eac025c985d212
CRs-Fixed: 3530233
2023-07-17 10:38:38 -07:00