Commit Graph

2787 Commits

Author SHA1 Message Date
Sheenam Monga
f6de97d19c qcacld-3.0: Don't send success status to user space
Currently, If AP doesn't allow Prohibit to be set and user tries
to enable prohibit, host doesn't send command to FW to enable prohibit
but doesn't send failure status to user space.

Fix is to send failure status to userspace in case prohibit is not enabled.

Change-Id: Ic983b85d27e16314f63c02f88d3b1689d587d622
CRs-Fixed: 3344607
2022-12-02 18:05:17 -08:00
Krupali Dhanvijay
3ecc75ecc3 qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_empty_scan_refresh_period_global() and
sme_get_neighbor_scan_refresh_period() apis
and replace it with ucfg api.

Change-Id: Iaa511024467f45dc408da3db202b25f9b5276453
CRs-Fixed: 3335898
2022-12-02 01:25:11 -08:00
Krupali Dhanvijay
091ad81795 qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_roam_opportunistic_scan_threshold_diff() and
sme_get_roam_scan_home_away_time() apis and replace it with ucfg api.

Change-Id: I7de3bf3faff990cbf667cb8106044a33f16f3a46
CRs-Fixed: 3335898
2022-12-02 01:25:05 -08:00
Krupali Dhanvijay
7c037e6d50 qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_wes_mode(), sme_get_is_lfr_feature_enabled()
and sme_get_is_ft_feature_enabled() apis and
replace it with ucfg api.

Change-Id: I7715ba361264fcb2c0c93d8d073813538347dd31
CRs-Fixed: 3335898
2022-12-02 01:24:59 -08:00
Krupali Dhanvijay
2c38836b37 qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_neighbor_scan_max_chan_time() and
sme_get_neighbor_scan_max_chan_time() apis and replace it with ucfg api.

Change-Id: I8a9de18f22e352ed8c64f415fd0455f64227a857
CRs-Fixed: 3335898
2022-12-02 01:24:53 -08:00
Krupali Dhanvijay
45eb0c0f4e qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_roam_rssi_diff() and
sme_get_is_ese_feature_enabled() apis and replace it with ucfg api.

Change-Id: I226efbcf8ecd44b08684a3e17e2db987c169946d
CRs-Fixed: 3335898
2022-12-02 01:24:48 -08:00
Krupali Dhanvijay
5afc9f98c7 qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_empty_scan_refresh_period() and
sme_get_neighbor_scan_min_chan_time() apis and
replace it with ucfg api.

Change-Id: I372fcbcf4f96af2c642a5fe93c0f8e2ce98174ea
CRs-Fixed: 3335898
2022-12-02 01:24:43 -08:00
Krupali Dhanvijay
b3021e935e qcacld-3.0: Clean up code for sme apis
Clean up the code for sme_get_neighbor_lookup_rssi_threshold() and
sme_get_roam_rescan_rssi_diff() apis and
replace it with ucfg api.

Change-Id: Idc7503eaa316d68dc05aba8345970ace7bc8ad45
CRs-Fixed: 3335898
2022-12-02 01:24:37 -08:00
Krupali Dhanvijay
a3a9866f7d qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_valid_channels() and
sme_get_roam_intra_band() apis and
replace it with ucfg api.

Change-Id: Ic2f07e2193186d1e1ac81f6e5909417c10ab9c89
CRs-Fixed: 3335898
2022-12-02 01:24:32 -08:00
Rachit Kankane
f5b2eeb7f6 qcacld-3.0: Fail SR commands in concurrency
Fail all the Spatial Reuse commands if SR in concurrency
is not supported.

Change-Id: Ifcee0cfb6f52bcde5bcb4193f4f8bb336ba6b191
CRs-Fixed: 3338582
2022-12-01 08:19:26 -08:00
chunquan
2a9b4fb35b qcacld-3.0: Skip dfs channel for P2P-GO concurrency mode
If sta connect to an AP at 5 GHz DFS channel, P2P-GO open and would
scc on the same channel. We don't expect filter out the DFS channel
from PCL list.

Change-Id: Idd8707d7aea908d17d720b54c0228a131cf17fcd
CRs-Fixed: 3345700
2022-12-01 08:19:15 -08:00
Liangwei Dong
e3ae186003 qcacld-3.0: Limit mandatory channel policy to 2 vdev concurrency
The mandatory channel policy was created for STA + SAP 2 vdev concurrency
case. For MLO STA (2+5/6) + SAP 3 vdev concurrency case, use general
force SCC logic until the requirement is updated in this case.

Change-Id: Ifca16824d53f272adc5b6ff763c1b4cc08af6a2f
CRs-Fixed: 3347722
2022-12-01 06:20:26 -08:00
Srinivas Dasari
9d6fa2ef4d qcacld-3.0: Free the NAN buffer when fail to serialize the command
When same NAN commands are issued back to back, serialization
module rejects the commands when there is a command present
in the pending queue. But the memory allocated for the NAN buffer
is not freed in such failure cases.
Free the NAN buffer in such failure cases to avoid memleaks.

Change-Id: I1d1f9c077d4b6239f4400d9b3ed185e63e471b56
CRs-Fixed: 3341229
2022-11-30 22:51:22 -08:00
Amruta Kulkarni
7566d61fff qcacld-3.0: Assign op mode after null vdev check
To avoid assignment before null check for vdev.
First check null vdev and then assign operational
mode value.

Change-Id: Ifbff1f79f04d51dddf6a6c1aec27793389516045
CRs-Fixed: 3340858
2022-11-30 15:00:21 -08:00
Sheenam Monga
728998c4af qcacld-3.0: Send async event to user space in case of roaming
Currently, if SR (Spatial Reuse) is supported by AP and then
STA roams to another AP then host needs to parse SR IE and
send events to userspace and commands to Fw based on below
scenarios:

i.) Roamed AP doesn't support SR: If roamed AP doesn't support
SR then async event with SR disable is required to be sent to
userspace.

ii.) Roamed AP supports SR: If roamed AP supports SR then below
validations are required.

a.) existing thresholds are in range of roamed AP: Send SR enable
command to FW with previous thresholds , as FW disables SR during
roaming.

b.) existing thresholds are not in range of roamed AP: then decision
will be based on whether threshold is provided during SR enable command
or not. If threshold is provided along with SR enable command then send
disable to userspace and in other case update thresholds as per roamed
AP , send async event to userspace with new configured values and send
enable command to fw with new thresholds.

Change-Id: I0c39de349c0f723d49d510c6e8ba09dcb98c6d17
CRs-Fixed: 3316985
2022-11-29 05:28:46 -08:00
Jyoti Kumari
4c0dab6980 qcacld-3.0: Add edca_param_type ini for LL SAP
Add edca_param_type ini to configure edca or pifs param for
LL SAP.
If edca_param_type is 0 then set edca param or
if edca_param_type is 1 then set pifs param.

Based on this ini, host configures either edca or pifs param
and send it to firmware and earbud via OTA frames.

Change-Id: I46a5efea4f516b145d04d8b8ad79c5d47ceb7f89
CRs-Fixed: 3344875
2022-11-28 15:51:48 -08:00
Jianmin Zhu
60c511d230 qcacld-3.0: Enable vdev PCL for SBS mode to avoid roaming to MCC
When dual sta connected as SBS mode instead of dbs mode, driver didn't set
pcl per vdev, so dual sta had same PCL in firmware, MCC may happened after
roaming.

Fix:
1. Host pass roaming MCC disallow flag to F/W by checking primary vdev id.

2. For platform SBS supported, when doing dbs or sbs, send PCL from table
to F/W directly, allow SCC and SBS<->DBS roaming, don't limit to intra
band, only avoid mcc case if no primary vdev.

3. Use policy_mgr_concurrent_sta_on_different_mac to replace
policy_mgr_concurrent_sta_doing_dbs, add logic to consider SBS when set
PCL to F/W.

4. Change dual sta PCL table to remove mcc channels.

5. When STA channel switch, also update PCL to F/W.

6. For roaming case, do vdev level PCL update for all sta after connection
update in policy mgr, or wrong PCL is got.

Change-Id: I631c84c96da2bba4011b69e4c076db174205c874
CRs-Fixed: 3336768
2022-11-27 23:28:03 -08:00
Jianmin Zhu
8b9b29fbc0 qcacld-3.0: Avoid deadlock for back to back SAP CSA
While SAP doing CSA, NAN enabled, SAP tries to do CSA to force SCC with
NAN in scheduler thread, since last CSA in progress, scheduler thread is
blocked to wait last CSA finished, CSA timer can't be handled in scheduler
thread any more, last CSA can't finish, deadlock happens until timeout.

To fix it, let SAP force scc with NAN logic run in work thread instead of
scheduler thread.

Change-Id: Icb774ffcfc70f279ba3b18b3c5cd4a169180e99b
CRs-Fixed: 3344905
2022-11-27 03:34:23 -08:00
Surya Prakash Sivaraj
9387f3974b qcacld-3.0: Update NO_IR flag of indoor channel dynamically
In current design of sta+sap scc on indoor channels, the NO_IR
flag of all the indoor channels are removed during init.
Then, based on the operations on the SAP interface, the
SAP concurrency will be decided in host driver.

However, some userspace p2p applications, do not query the
pcl list from driver, therefore standalone P2P GO are sometimes
brought up in indoor channels.

To fix this:
1. Upon STA connect: Remove the NO_IR flags only from the
indoor channels to which the STA is connected.
2. Upon STA disconnect: Add the NO_IR flag back to the
disconnected channel.
3. Upon STA roam/csa:
    a) Add the NO_IR to the new channel if it is indoor.
    b) Remove the NO_IR of the previously connected channel
       once the SAP/GO(if present) moves out of the indoor channel.
4. The NO_IR flags should be removed for all the bonded channels
on which the STA is active.
5. In indoor concurrency cases, add logic in the SAP start to
limit the channel width with the STA interface bandwidth. Since,
only the bonded channels are active channels.

Change-Id: Ib0b30e1f17d0eb944c72b26bb679bf7447b9032f
CRs-Fixed: 3296208
2022-11-26 19:23:34 -08:00
Srikanth Marepalli
8ef0316626 qcacld-3.0: Add vendor command attribute for roam hand-off delay
User can configure roam hand-off delay value using the new vendor
attribute introduced as part roam vendor command.
This change gets the configured value and sends it to firmware.
And firmware delays the roam Hand-off (in msec) by the specified
duration to receive pending RX frames from the current BSS.

Change-Id: Ic328c077cba06532ee8ffed12cde072c816b92e0
CRs-Fixed: 3329964
2022-11-26 10:34:44 -08:00
Jyoti Kumari
9314e7fc54 qcacld-3.0: Do not return pcl len as 0 if LL SAP not present
Pcl len is always 0 if existing interface is not LL SAP.

As part of fix, return original pcl len if LL SAP is not present.

Change-Id: I51b308483364f40da03f6f9f4daea1a1f3b72019
CRs-Fixed: 3342540
2022-11-26 02:37:12 -08:00
Jeff Johnson
1fdfe7456a qcacld-3.0: Fix interop_issues_ap documentation
The kernel-doc script identified several documentation issues in
the interop_issues_ap component, so fix them.

Change-Id: Ic603071529ead8b6e884b6d7e43eb98186136162
CRs-Fixed: 3340470
2022-11-25 12:35:21 -08:00
Srinivas Dasari
7324535b01 qcacld-3.0: Copy link beacon from sync frame event to roam_sync_ind
When firmware attempts roaming to an MLO AP, it tries to find
the complete ML info(all links info) either through ML probe
response or beacons from all the links. It forwards all link
beacons(or ML probe response) to host as part of roam sync
indication through roam sync frame event.
Add support to fetch both link beacons and add them to scan db.
If firmware sends ML probe response, generate link probe response
as well and add it to the scan db.
The link scan result can be used in link connect in case of
hybrid roaming like OWE, 1x,..

Change-Id: Ic8457a5630441d6fd3faeb4791c79422db787f94
CRs-Fixed: 3335225
2022-11-25 10:24:49 -08:00
Ananya Gupta
a3e72a6e91 qcacld-3.0: Set direct link when its vdev is up
When Vdev for direct link is up, set packets for this vdev to
route to firmware and only enter d0 WOW.
If the AP profile is HOST_CONCURRENT_AP_POLICY_GAMING_AUDIO,
prevent link to go to low power states to reduce latency.

Change-Id: I9fa2ab06983db8767d8b48b74e30602e07294fe2
CRs-Fixed: 3330207
2022-11-23 13:54:39 -08:00
Yeshwanth Sriram Guntuka
bff1e3aa36 qcacld-3.0: Add support for DP QMI WFDS client
Add support for QMI client for WiFi Driver
Service (WFDS) in DP component.

Change-Id: Id0a8a51c32aa9f058e57e622b3ad65d405806148
CRs-Fixed: 3328386
2022-11-23 13:54:33 -08:00
Sachin Ahuja
6b6b2f4fde qcacld-3.0: Initialize sap max number of peers
Currently callers are calling the wlan_mlme_get_sap_max_peers() API
to get the max number of peers without initializing the output
parameter.
In case of failure in wlan_mlme_get_sap_max_peers() API,
sap_max_num_peers can have uninitialized value which can lead to
undefined behavior.

To fix this issue, initialize the output parameter before calling
wlan_mlme_get_sap_max_peers()

CRs-Fixed: 3337315
Change-Id: I83ecaf80ccee7d92a66fe561c0a1a7bd409fd64c
2022-11-23 10:52:26 -08:00
Yeshwanth Sriram Guntuka
c589e67a42 qcacld-3.0: Add QMI files for WFDS service
Add initial version of QMI files that are used for
communication between WLAN host driver on APSS and
WiFi driver on LPASS.

Change-Id: If7352490d73457479e85958b90066f9c397bb310
CRs-Fixed: 3328378
2022-11-23 00:30:07 -08:00
Yeshwanth Sriram Guntuka
d2cc52d5ae qcacld-3.0: Add support for QMI component
Add support for QMI component.

Change-Id: I63735800ea1166e875ff12bfd22df3c3d9c6312f
CRs-Fixed: 3337043
2022-11-23 00:30:01 -08:00
Abhishek Singh
eee0c37e9d qcacld-3.0: Limit unicast probe req during join timeout in MCC
Currently probe request is sent every 200ms during join timeout
this can lead to 16+ probe req, send during join time.

Change logic to send max 5 probe req during join time,
if candidate freq can lead to MCC concurrency scenario.

Change-Id: I7956771e2cf6724754f59c6db5b07fb45426ae41
CRs-Fixed: 3338329
2022-11-22 15:50:35 -08:00
Chaoli Zhou
2c3110a123 qcacld-3.0: Fix no previous prototype for 'dp_set_rps'
Fix no prototype for 'dp_set_rps' if QCA_CONFIG_RPS
not defined.

Change-Id: I368ef21c29a2cd37073b193ba3102db466b45aff
CRs-Fixed: 3339014
2022-11-22 07:49:26 -08:00
Karthik Kantamneni
f298317281 qcacld-3.0: Display Runtime PM stats periodically
Display Runtime PM last busy stats periodically, this helps
to debug runtimepm issues even without dump availability.

Change-Id: Iae9b70ed49b94a4e098d87a0a00e539178f3c35d
CRs-Fixed: 3337901
2022-11-20 22:03:01 -08:00
Will Huang
58ce19c7e0 qcacld-3.0: Add static cfg items and APIs for AFC feature
Add 4 static cfg items for AFC feature:
CFG_AFC_REG_NO_ACTION, CFG_6GHZ_SP_POWER_MODE_SUPP,
CFG_AFC_TIMER_CHECK_DIS, CFG_AFC_REQ_ID_CHECK_DIS.

Add APIs to pass these settings to psoc private of regulatory
component.

Change-Id: I61114fb7bf7d84f939265629bde78813b6295e39
CRs-Fixed: 3153987
2022-11-19 07:43:48 -08:00
Amruta Kulkarni
ad7dfc2ab6 qcacld-3.0: Add cfg for t2lm negotiation supported
Changes to add cfg item for t2lm negotiation support

Change-Id: I94992f5bc8142325434223c59ebbcedd86aa0ff9
CRs-Fixed: 3236628
2022-11-19 05:47:45 -08:00
Jeff Johnson
744f70e8db qcacld-3.0: Fix action_oui documentation
The kernel-doc script identified several documentation issues in
the action_oui component, so fix them.

Change-Id: I7fb63da7fbd7911b11e954bca824c2648e138679
CRs-Fixed: 3340062
2022-11-19 01:03:10 -08:00
Jeff Johnson
08bc9bb30a qcacld-3.0: Fix cp_stats documentation
The kernel-doc script identified several documentation issues in
the cp_stats component, so fix them.

Change-Id: I33e42894365048b75a23f1a2070de72a975d456f
CRs-Fixed: 3340094
2022-11-19 01:03:05 -08:00
Vinod Kumar Pirla
c682062e13 qcacld-3.0: Associate in 11ax mode on non MLO vdev
In 11be capable configuration, for connection attempt
to MLO AP from non-MLO type vdev, downgrade to 11ax
mode association for that vdev.

User can still connect in ML mode from MLO type vdev.

Change-Id: I1e7cf940a778a20f2f4d5d24283ffb6aae52781b
CRs-Fixed: 3312163
2022-11-18 00:31:10 -08:00
Ashish Kumar Dhanotiya
3297080714 qcacld-3.0: Update NSS for SAP dynamically
Currently host driver does not support dynamic NSS update for
SAP. Based on new requirement update NSS for SAP.
To achieve this requirement, add a logic to update the NSS and
restart the SAP with the updated NSS based on the ini.

Change-Id: Ie770b1103ba4050c48cd4ba3674a5e0d89c86fdf
CRs-Fixed: 3307308
2022-11-17 22:25:55 -08:00
Liangwei Dong
a594e9af75 qcacld-3.0: Fix check SBS low shared flag
In policy_mgr_get_index_for_ml_sta_sap_hwmode_sbs,
if SBS supported, at least one share type should be
supported.
Fix the missing check of Low share SBS.

Change-Id: I9ab848bab9ae8eb5c9d4bb85022b83be92e4c1e9
CRs-Fixed: 3338956
2022-11-17 20:22:13 -08:00
Liangwei Dong
220191a0f2 qcacld-3.0: Fix start GO failed on SBS config disabled
In SBS disabled, STA connects to MLO AP, then start P2P GO on 2.4 GHz.
The non SBS 3rd connection PCL table doesn't support such combination
and P2P GO start is failed.
Fix by add P2P GC/GO valid PCL type for PM_STA_STA_DBS_2x2

Change-Id: I8d36a11ca0005a25d17187100124e355fcb945ca
CRs-Fixed: 3334208
2022-11-17 11:44:49 -08:00
Jeff Johnson
ce3e5c15a9 qcacld-3.0: Fix wlan_ocb_main.[ch] documentation
The kernel-doc script identified several documentation issues in
wlan_ocb_main.c and wlan_ocb_main.h, so fix them.

Change-Id: Ic9916f335cc6ad68306664f726e18fd96a704225
CRs-Fixed: 3336710
2022-11-17 08:09:01 -08:00
Vinod Kumar Pirla
10ddbd5a8c qcacld-3.0: Send peer ML info on BSS join/leave to cfg80211
On client connection, send the client's MLD address, assoc response IEs
and the link_id of SAP on which the new client is added.
For non-MLO capable clients the MLD is sent as NULL address

On ML client disconnection, use MLD address of the client as argument
to cfg80211_del_sta().
For non-MLO client disconnection, use the legacy address of the client
as argument to cfg80211_del_sta().

Change-Id: I43cb8e688251b6118932e1ae88f7abdf53dd54a0
CRs-Fixed: 3324216
2022-11-17 02:28:35 -08:00
Asutosh Mohapatra
7b4c3a6fb3 qcacld-3.0: Set PM delay to 1200 ms for WOW_REASON_LOCAL_DATA_UC_DROP
Currently general PM delay is 500 ms. If fw sends wow wakeup with reason
code WOW_REASON_LOCAL_DATA_UC_DROP host wakes up, 500 ms after the
transactions again runtime suspend takes effect. Every time FW sends wow
wake there will be a small delay induced. It is noticed that large
frames are getting dropped for continuous wow wakeup events.

To address this issue increase PM delay to 1200 ms if fw sends
wow wake for reason WOW_REASON_LOCAL_DATA_UC_DROP and again
revert it back to 500 ms on next WoW enter.

Change-Id: I57bafc5ae8a633f1f685201ceb5936b59c985148
CRs-Fixed: 3330844
2022-11-16 15:36:38 -08:00
Jyoti Kumari
93ae42666a qcacld-3.0: Handle LL SAP + SAP/GO scenario during acs
Filter pcl channel list for SAP/GO if LL SAP is present
and SAP/GO comes up.

Change-Id: I7527131ba8b465f5be9bafec3d0c8b527a70b3dd
CRs-Fixed: 3331013
2022-11-15 21:38:42 -08:00
Jyoti Kumari
f75b4b4cca qcacld-3.0: Kernel doc mismatch in policy_mgr_are_sbs_chan()
Kernel doc mismatch in policy_mgr_are_sbs_chan(). Correct it
by adding proper argument.

Change-Id: Ic72659df96bac1f98323ec7a9d339d0a975434a0
CRs-Fixed: 3336165
2022-11-15 19:44:33 -08:00
Jeff Johnson
a0b4717c55 qcacld-3.0: Fix wmi_unified_coap_api.h documentation
The kernel-doc script identified several documentation issues in
wmi_unified_coap_api.h, so fix them.

Change-Id: Ied119dcf6acd477981c990007a916c66689bcce8
CRs-Fixed: 3331885
2022-11-14 07:38:39 -08:00
Yeshwanth Sriram Guntuka
51c1c5669c qcacld-3.0: Initialize Direct Link DP only if FW supports
Initialize direct link datapath based on the capability
bit from FW.

Change-Id: I054ae693762bafcd9461cf2505b0c4446c3c6c2f
CRs-Fixed: 3335329
2022-11-13 01:42:10 +05:30
Yeshwanth Sriram Guntuka
e8b18e43b9 qcacld-3.0: Use a dedicated rx refill ring for Direct Link
Allocate a dedicated rx refill ring for use by LPASS
WiFi driver to provide buffers back to FW in the
Direct Link datapath.

Change-Id: I3b59e2fd3973f37fc2cc77898c4dcf09fc5def57
CRs-Fixed: 3317972
2022-11-12 01:23:06 -08:00
Vijay Raj
3d128118ef qcacld-3.0: Modify cm_roam_mgmt_frame_event to log correct rssi value
In the api cm_roam_mgmt_frame_event(), the rssi is logged
as a positive value.

Modify cm_roam_mgmt_frame_event() to log rssi value as
a negative value.

Change-Id: I1af7827beda23381e89880cf7ef73c24a7e38a15
CRs-Fixed: 3327027
2022-11-11 19:41:41 -08:00
Jinwei Chen
a1adfe5630 qcacld-3.0: add minimal UDP data length check for FISA
current observation is as following,
(1) RX UDP data length less then 12 bytes and they are aggregated
by FISA.
(2) aggregated UDP data might not be supported by user APP or they
are forwarded to other netdev.
if above two is met, kernel panic appears.

no solid conclusion from kernel network currently,
as a SW WAR from wlan driver side, check if current UDP data
length < 16 bytes, skip FISA aggregation.

Change-Id: Ia9e46705c7ace6a6e5580494231056adf214d7b2
CRs-Fixed: 3330035
2022-11-10 21:57:04 -08:00
Vinod Kumar Pirla
56634e8cd3 qcacld-3.0: Support concurrent ML SAP and ML STA
Policy manager restricts concurrent ML SAP and ML STA
operation in existing rules.

Allow atmost one ML SAP to exist and disallow any secondary
ML SAP start BSS.
Allow ML STA even if ML SAP is present, as only one ML SAP
is allowed, remove the code check for is ML SAP while checking
concurrency rules for ML STA.

Change-Id: Icced604c1685eaf00452b240d816fdd8bc2a97d2
CRs-Fixed: 3331402
2022-11-10 14:49:47 -08:00