Commit Graph

2315 Commits

Author SHA1 Message Date
Jianmin Zhu
96581c5ff9 qcacld-3.0: Fix roaming issue for dual sta case
With MLO sta change, when WLAN_FEATURE_11BE_MLO is undefined, non mlo sta
index array is got wrongly, sta+sta dbs check based on it is wrong too,
and policy_mgr_concurrent_sta_doing_dbs always return false,  then
2nd STA RSO is failed to enable, vdev level pcl isn't configured too, 1st
STA can roam to all band.

Change-Id: Iaa728222ab4835099899b463285be4fe2de58ea2
CRs-Fixed: 3192971
2022-05-10 11:03:57 -07:00
Jianmin Zhu
bef2c71d6c qcacld-3.0: Fix code style of action oui
Fix the indentation of the 3rd parameter for all of qdf_str_lcopy() calls.

Replace the magic numbers with action_oui_id enums in the destination array
index for entries 0-6.

To align with out software architecture the umac code should not be calling
ucfg (user configuration) APIs, these should only be called by HDD/OSIF.
Instead the action oui component should export an inter-component API
wlan_action_oui_* which this function calls.
Change the implementation of the ucfg_ api to call the wlan_ API.

Change-Id: Id75eb6bd1ceb8031ccd0cc9c2f5826872969dc6f
CRs-Fixed: 3192204
2022-05-09 23:36:46 -07:00
Yu Wang
3052e9f536 qcacld-3.0: refine the function for checking HE support
Refine the function wlan_son_is_he_supported() to
fix a NULL pointer issue.

Change-Id: I8697162649dc06ac8f06dd2fb5fe819b712ede30
CRs-Fixed: 3189354
2022-05-09 02:52:38 -07:00
Jianmin Zhu
100c2b7144 qcacld-3.0: Fix MU EDCA iot AP issue
One special AP sets MU EDCA timer as 255 wrongly in both beacon and assoc
rsp, lead to 2 sec SU UL data stall periodically.

To fix it, add ini gActionOUIDisableMuEDCA to specify action OUIs to
control MU EDCA configuration when join the AP, reset MU EDCA timer to 1
and config to F/W for such AP.

Change-Id: I0ad26214417d33bafcbb6939a247bebe4f4637f8
CRs-Fixed: 3180249
2022-05-06 21:04:28 -07:00
Amit Mehta
c489c30c86 qcacld-3.0: DP component compilation fix
Fix compilation related issue and other dependencies for
DP component

Change-Id: I3cbe061e6dbc36f21157c88ff63c7828026adb44
CRs-Fixed: 3189666
2022-05-06 12:44:44 -07:00
Aravind Kishore Sukla
8282e8af3c qcacld-3.0: Replace kmsg logs to debug logs
Change kernel log level to debug level

Change-Id: I1efa9a0498acd81f2a9a12d5712299609eb5bd06
CRs-Fixed: 3182121
2022-05-06 09:49:38 -07:00
Jyoti Kumari
714d3f7eb1 qcacld-3.0: Add connection roaming ini support
Add get/set support for connection roaming ini file

Change-Id: I09d6ebf86c5374fabb82f79d0a2cd8758e454e4b
CRs-Fixed: 3038459
2022-05-06 03:27:59 -07:00
Srinivas Dasari
109980c95e qcacld-3.0: Ignore H2E RSNXE support for test config
Userspace sends the vendor command WIFI_TEST_CONFIGURATION by
setting the attribute WIFI_TEST_CONFIG_IGNORE_H2E_RSNXE when
driver needs to ignore the SAE H2E mismatch for 6 GHz connection.
This is needed for certification test support.

Change-Id: Ic26e733e21811a9f19c6e35e27a9d63616c17c1b
CRs-Fixed: 3050391
2022-05-05 20:08:33 -07:00
Gangadhar Kavalastramath
5062518762 qcacld-3.0: Initialize local struct objects
Initialize struct cm_roam_values_copy to avoid using uninitialized
parameters in wlan_cm_roam_cfg_set_value().
Initialize struct pdev_params to zero to avoid using uninitialized
parameters in wmi_unified_pdev_param_send().

Change-Id: I820db09840431487f1756695a0562f8a794f549f
CRs-Fixed: 3187194
2022-05-05 11:14:52 -07:00
Sheenam Monga
9bb61d5265 qcacld-3.0: Don't free mlo_link_set_active_req
Currently req->ctx.cb_arg is assigned req memory
in wlan_mlo_sta_mlo_concurency_set_link. and passed to
mlo_ser_set_link_req, where req is again alocated
and req pointer of req->ctx.cb_arg is freed, thus
making req->ctx.cb_arg invalid.

Fix is to avoid allocation of req again and use the
requester memory of mlo_ser_set_link_req as umac_cmd.

Change-Id: Ic96efa204662269fe812c195a3bc8a1da5b215ad
CRs-Fixed: 3188737
2022-05-05 07:12:48 -07:00
Pragaspathi Thilagaraj
4396764569 qcacld-3.0: Add new ini to allow STA-SAP scc on indoor only channel
Add new ini for STA-SAP scc on 5 GHz indoor only channel -
"sta_sap_scc_on_indoor_chan"

When this ini is enabled, SAP moves to the STA channel
when STA is connected on indoor only 5 GHz channel with the
AP. When this ini is disabled, SAP moves to any 2.4 GHz
channel.
When gindoor_channel_support=1, this ini will not be considered and
SAP can come up on indoor channel.

Change-Id: Ia3ebc6d7fc2e6e569cde8e8a8b38ca76036b8fda
CRs-Fixed: 3186938
2022-05-04 23:18:49 -07:00
Deeksha Gupta
0cfc1baee3 qcacld-3.0: Update peer twt required bit based on TWT notify
when firmware sends TWT notify event with status
HOST_TWT_NOTIFY_EVENT_AP_TWT_REQ_BIT_CLEAR or
HOST_TWT_NOTIFY_EVENT_AP_TWT_REQ_BIT_SET.
Host will check the peer TWT required bit and take the
following action:
1. If fw sends HOST_TWT_NOTIFY_EVENT_AP_TWT_REQ_BIT_CLEAR then
host will dynamically change the peer twt required bit as 0.
2. If fw sends HOST_TWT_NOTIFY_EVENT_AP_TWT_REQ_BIT_SET then
host will dynamically change the peer twt required bit as 1.

Change-Id: Ia72aab685adf5b56f674e21ceedc2c498930403c
CRs-Fixed: 3163826
2022-05-04 21:10:22 -07:00
Karthik Kantamneni
5dc87dece5 qcacld-3.0: Implement DP component per packet TX/RX support
Implement per packet TX/RX support in DP componentization model.
This change will help to process per packet TX/RX path in STA interface.

Change-Id: I3fbd8dbe26ccd24fc50c6e67cd1213c72837cf9b
CRs-Fixed: 3173449
2022-05-04 19:49:52 -07:00
Karthik Kantamneni
b5d890bd89 qcacld-3.0: Add peer create/destroy notification support in DP component
Add peer create/destroy notification support in DP component, so that
DP component gets notified for obj mgr peer creation/destroy.
DP component can use this notifications for its own
peer info maintenance.

Change-Id: I5277a986967c88619b7644d633d84a9bafc9bfbc
CRs-Fixed: 3173476
2022-05-04 19:49:45 -07:00
Karthik Kantamneni
a5fbc73775 qcacld-3.0: Implement DP component TX/RX path support fo SAP interface
Implement per packet TX/RX path support for SAP interface in DP
componentization model.

Change-Id: I788dcbe14fe038f50ff5b834b89391408dc5d16a
CRs-Fixed: 3173469
2022-05-04 19:49:39 -07:00
Amit Mehta
a5e45cf6ac qcacld-3.0: Add config changes to DP component
Add changes to initialize DP component config

Change-Id: I0f1dbbfad35801d0ffde85233c0dcde6c6ab27ec
CRs-Fixed: 3169865
2022-05-04 18:28:49 -07:00
Amit Mehta
1fd4974449 qcacld-3.0: Add DP tracing API to DP component
Add DP tracing API to DP component

Change-Id: Ic55d62a533e4960b258644b9bdc96e856d010bf4
CRs-Fixed: 3165203
2022-05-04 18:28:44 -07:00
Amit Mehta
3cdb874884 qcacld-3.0: Add get and set stats API to DP component
Add Get and Set stats API.

Change-Id: Ie00e973234d14e4110f8e028600d8a52728b29d6
CRs-Fixed: 3165194
2022-05-04 18:28:38 -07:00
Amit Mehta
a4db80f465 qcacld-3.0: Add target_if API implementation to DP component
Add target_if API to send ARP request, LRO config and
DHCP indiacation to firmware.

Change-Id: I2d4af7a5da6c29398ab00205654df9be3d90b665
CRs-Fixed: 3165155
2022-05-04 17:09:52 -07:00
Amit Mehta
72f7ef77cb qcacld-3.0: Add NUD Tracking APIs to DP component
Add NUD tracking APIs to DP component

Change-Id: Ib1dccb041b4fc50a2fc4b7eaba9eed6dfc80ea4d
CRs-Fixed: 3165120
2022-05-04 17:09:47 -07:00
Amit Mehta
30c5e2a0fa qcacld-3.0: Add MIC handling to DP component
Add MIC handling and periodic stats display API
in DP component

Change-Id: I5648b9ebe5bd529a83e607b07621c9867d19d402
CRs-Fixed: 3165076
2022-05-04 15:47:27 -07:00
Amit Mehta
23c9db7762 qcacld-3.0: Add bus bandwidth API
Add bus bandwidth API to DP component

Change-Id: I2957671a89d0d425007c373e52dd4db30193fc17
CRs-Fixed: 3165071
2022-05-04 15:47:21 -07:00
Amit Mehta
ad3a5fbc02 qcacld-3.0: Add Periodically STA stats API to DP component
Add APIs to print periodic STA Stats in DP component.

Change-Id: I716b3e0be34fb7472d62adbf74565bd5d51a39c2
CRs-Fixed: 3166166
2022-05-04 14:29:10 -07:00
Amit Mehta
c76ff11020 qcacld-3.0: Add TCP delack and tx rx param update APIs
Add TCP delack and tx rx param update APIs to DP component

Change-Id: Ic6dd63c3e43df628a0f766dafa1581001ea42d5a
CRs-Fixed: 3165030
2022-05-04 14:29:04 -07:00
Amit Mehta
2695c694c4 qcacld-3.0: Add tcp param update API
Add TCP param update APIs to DP component

Change-Id: Idc2574c3ab0b3bf1632954bc907b720fcd17675d
CRs-Fixed: 3165026
2022-05-04 14:28:59 -07:00
Amit Mehta
178d7f7753 qcacld-3.0: Add RPS indication APIs to DP component
Add APIS to configure RPS indication.

Change-Id: I5d5a3d2a20989daae3c904afb25a028bd2e37956
CRs-Fixed: 3165005
2022-05-04 14:28:53 -07:00
Amit Mehta
4f0c6b8658 qcacld-3.0: Add rtpm_tput_policy API to dp component
Add rtpm tput policy helper functions

Change-Id: Ic8cb3889d9d67fbffab02f5b355c002db63650e3
CRs-Fixed: 3165000
2022-05-04 13:05:28 -07:00
Amit Mehta
e52153adec qcacld-3.0: DP Component Add bus bandwidth manager API
Add bus bandwidth manager API to DP component

Change-Id: I7e37b2687ec8092c5d437fb4d4bee5b1cda1670c
CRs-Fixed: 3164998
2022-05-04 13:05:22 -07:00
Amit Mehta
ed6a29b31c qcacld-3.0: add osif API to send tcp param update
Add new osif API to send TCP param update.

Change-Id: I487fabb53364703272f7e123802ecdb5fd77c3e8
CRs-Fixed: 3164977
2022-05-04 13:05:17 -07:00
Karthik Kantamneni
6b43ef6a50 qcacld-3.0: Implement DP component infra support
Implement DP component infra support, So that
DP component gets allocated and initialiazed.

Change-Id: Icdcbf92956dcf0984dd14262f3c7f29554b4eba8
CRs-Fixed: 3164965
2022-05-04 13:05:11 -07:00
Jyoti Kumari
aadfa9a31f qcacld-3.0: Generalize mlme_set_twt_peer_capabilities() api
Currently mlme_set_twt_peer_capabilities() api is use to
update twt capabilities using he caps and he ops. But now
onwards partial TWT(requestor and responder) can be
supported from 11n mode also.
Make this api as generic so that it can be use for both
11ax and 11n.

Change-Id: Id89e056927a914938efad7116796cbf64b5764db
CRs-Fixed: 3185133
2022-05-04 10:48:21 -07:00
Jyoti Kumari
abf8be9f56 qcacld-3.0: Add ini to support twt in 11n mode
Currently TWT works only in 11ax. Add enable_twt_in_11n
ini to support TWT in 11n mode.
False: DO not support TWT in 11n mode
True: Support TWT in 11n mode

Change-Id: If1011c9a24b9c285199d7b0e60e5614d6c1f8786
CRs-Fixed: 3185100
2022-05-04 10:48:16 -07:00
Rahul Gusain
eb9d862389 qcacld-3.0: Update Set Roam Primary reason in the roam stop config
Currently, roam scan mode is updated as roam offload while setting
primary vdev, but expected scan mode in this case is none. This is due
to wrong reason is propagated from cm_roam_stop_req to
cm_roam_scan_offload_fill_rso_configs.
So, reason in roam stop config is updated with set roam primary which is
propagated to cm_roam_scan_offload_fill_rso_configs.

CRs-Fixed: 3182222
Change-Id: I6d0db95f475038e659bddeb24b79ac4f67c9c079
2022-05-02 14:08:37 -07:00
Vulupala Shashank Reddy
7309dbf3db qcacld-3.0: Send correct Nth beacon config to FW in pkt capture
Currently, when user sets pkt capture beacon capture config
using vendor command, both nth beacon interval and connect
beacon config is sent to firmware. This leads to reception
of all beacons even if nth beacon interval is configured.

Whenever nth beacon interval and connect beacon is configured
from user, firmware expects host to not send connect beacon
config to FW. This change also adds Nth beacon filter check
for beacons in packet capture management rx path.

Change-Id: I046a282c5f79598b686c4fd95554e2330c6bfb39
CRs-Fixed: 3150806
2022-05-02 00:04:38 -07:00
Vulupala Shashank Reddy
014ec22131 qcacld-3.0: Avoid compilation error when pkt capture enabled
Currently tso_desc moved from dp_tx_desc_s to dp_tx_ext_desc_elem_s,
so make corresponding change in pkt capture to avoid compilation
error when pkt capture is enabled.

Change-Id: I18260c5df0872470b2309e31e8d2011f5fac70d1
CRs-Fixed: 3156011
2022-04-29 04:12:45 -07:00
Vinod Kumar Myadam
fb7f77bec3 qcacld-3.0: Add WMI_SCAN_FILTER_PROBE_REQ in control flags
Passing WMI_SCAN_FILTER_PROBE_REQ in scan control flags to fw,
for sync with host triggered scans

Change-Id: Ided83c10c48427db29c95a2dc8eac6df6ff467f7
CRs-Fixed: 3184905
2022-04-28 15:46:12 -07:00
Surya Prakash Sivaraj
f61aa78712 qcacld-3.0: Use CM SM to get the roam sync state
Use the Connection Manager state machine to check if the
VDEV is currently in roam sync state. RSO states can be
changed dynamically based on the roaming configuration, whereas
the state machine would maintain the state.

Change-Id: Ic5c9a3a322febfe6b71f4684d5074dad599ecd37
CRs-Fixed: 3183191
2022-04-28 13:06:07 -07:00
Ashish
955fdc0d79 qcacld-3.0: Add support to cache peer nss in sap mode
Currently driver does not caches peer nss and it needs this info
for big data stats. When driver receives big data stats command
it always returns nss as 0 which is not correct.

To address above issue, add support to cache peer nss in SAP
mode.

Change-Id: I5152581d7d66b5bf20f6102dcb9edaa4e23b35bc
CRs-Fixed: 3174420
2022-04-26 12:17:53 -07:00
Vinod Kumar Myadam
94da0db1a5 qcacld-3.0: Get mgmt frame info from frame buffer for logging
Issue scenario, 1st Addba response tx and set is_mgmt_data_valid false.
2nd TX frame happens for valid frame that needs to be logged and set
wma_handle->is_mgmt_data_valid to true. Then the 1st frame TX completion
tried to access wma_handle->mgmt._data. It may access invalid context if
race condition happened.

Move management frames handling from lim_send API to tx_complete_cnf API

Change-Id: Ib5090dcd274160b3a9d7b9975d0839ec06616b86
CRs-Fixed: 3154710
2022-04-26 12:17:47 -07:00
bings
5c9765db81 qcacld-3.0: Check cbs->vdev after getting g_cbs_lock lock
Currently there is a corner case wlan_cbs_timer_handler is called
with cbs->vdev being NULL.

In wlan_cbs_iterate, cbs->vdev is checked before getting g_cbs_lock
lock, then wlan_son_cbs_disable is called which sets cbs->vdev as
NULL and sets cbs state as CBS_INIT, then in wlan_cbs_iterate, it
gets g_cbs_lock lock and set cbs state as CBS_WAIT and start timer.
Finally in timer callback, cbs->vdev is NULL and cbs state is CBS_WAIT.

Check cbs->vdev after getting g_cbs_lock lock in wlan_cbs_iterate.
g_cbs_lock should protect all fields in struct son_cbs.

Change-Id: I393db09ac29e19fd29e546035c37062c04da7f7d
CRs-Fixed: 3179382
2022-04-26 10:00:18 -07:00
Vishal Miskin
d75a1c786c qcacld-3.0: Add support for QCA_WLAN_TWT_SET_PARAM command
Add support for QCA_WLAN_TWT_SET_PARAM command to configure
QCA_WLAN_VENDOR_ATTR_TWT_SET_PARAM_AP_AC_VALUE attribute.
This attribute provides access category value for
WMI_PDEV_PARAM_TWT_AC_CONFIG. This is used by firmware to
configure access category for TWT HW queue in TWT Responder
mode(SAP).

Change-Id: I5131967ff2061bf6afad7bc5f091a7eb5ee01b8a
CRs-Fixed: 3168197
2022-04-26 07:03:27 -07:00
Pragaspathi Thilagaraj
2bbd4b2892 qcacld-3.0: Log SAE authentication frames as part of roam logs
SAE authentication logging events are sent from host
driver during connection as well as during roaming.
But the other roaming frame related stats are printed
as part of the WMI_ROAM_STATS_EVENTID handling.
Since this roam stats event is received after preauth
frame related logs are queued to userspace, the order
of the logs are not correct.

Cache the SAE preauth logs in mlme and print them
upon receiving ROAM stats event. Read the firmware
service capability to decide if new caching needs
to be used or legacy behavior needs to be followed

Change-Id: I76381b9deef222f1481325974e2b5d9730eb2b67
CRs-Fixed: 3154147
2022-04-25 16:35:09 -07:00
Utkarsh Bhatnagar
7c666d30a8 qcacld-3.0: Cleanup MPC Unit Test Framework
Cleanup MPC Unit Test Framework.

Change-Id: I76aa0ad227069b68b9efedbbc7e87573e9a004c0
CRs-Fixed: 3178591
2022-04-25 10:15:22 -07:00
chunquan
2e87d35525 qcacld-3.0: Remove WLAN_FEATURE_11BE_MLO from middle of function
Remove all WLAN_FEATURE_11BE_MLO from middle of function.

Change-Id: I17cbaf90ae9b6f428c785413723a5dfb3619de0c
CRs-Fixed: 3175450
2022-04-25 08:57:56 -07:00
abhinav kumar
f95d76a857 qcacld-3.0: Add multi-client service bit caps and INI support
Add multi-client latency level service bit capability support,
WLAN_SOC_WLM_MULTI_CLIENT_LL_SUPPORT, to check whether the FW
supports multi-client latency level event or not.

Add INI "wlm_multi_client_ll feature" to enable/disable multi
client latency level feature from the host side.
 * @min: 0
 * @max: 1
 * @default: 0

If firmware sends multi-client latency level service
bit capability to host and host enables multi-client latency
level feature via INI, the host waits for an event
WMI_VDEV_LATENCY_LEVEL_EVENTID as a response to a request
command WMI_WLM_CONFIG_CMDID.

Change-Id: I5cbea89e67caabac5db70b7f0a91c18bdd512e9b
CRs-Fixed: 3180928
2022-04-25 05:38:05 -07:00
Surya Prakash Sivaraj
0c0fafc085 qcacld-3.0: Add support to dump frames on demand
Add support to dump the full management,eapol,
dhcp, arp frames based on the level of the
debug_packet_log configured through ini gEnableDebugLog.

The dump levels are as follows:
* 0x1  - Enable mgmt pkt logs (except probe req/rsp, beacons).
* 0x2  - Enable EAPOL pkt logs.
* 0x4  - Enable DHCP pkt logs.
* 0x8  - Enable mgmt action frames logs.
* 0x10 - Enable ARP pkt logs.
* 0x0  - Disable all the above connection related logs.

Change-Id: If572cccb327da785dd0d56cff6d37ba170b15cc8
CRs-Fixed: 3173604
2022-04-22 10:57:51 -07:00
Abhishek Singh
2b79efb8d2 qcacld-3.0: Fix SBS PCL freq list to handle 3 SCC freqs
If there are 3 or more 5/6Ghz SCC freq, avoid filling SBS freq in
PCL as due to 3 home freq limitation, 3rd freq will always be
leading to SBS.

So add SBS freqs in PCL, only if number of SCC are 1 OR 2 with 5Ghz
MCC/SCC.

Change-Id: Ib97589df50bbacafa56766dd4b8af6d9f5d1419b
CRs-Fixed: 3178339
2022-04-21 08:53:54 -07:00
Amit Mehta
5116bc8f8f qcacld-3.0: Add DP Component Skeleton code
Add new files and Skeleton code for DP component.

Change-Id: I6bfe59f31b292b77bbd728423a4ed53c3e4d1c2f
CRs-Fixed: 3164956
2022-04-21 07:24:26 -07:00
Utkarsh Bhatnagar
5831c17b52 qcacld-3.0: Reject TDLS as TDLS concurrency is not supported
Add concurrency conditions to reject TDLS connection if
along with BSS STA, any other iface is in connected state.

In case such as where peer directly sends TDLS setup
request and because of this supplicant does ADD peer
which is not rejected in case of concurrency.
This check is required because add_peer shouldn't be
processed if any other interface such as SAP, P2P already
have started otherwise it will result in FW crash.

Change-Id: Ied36228e033730cd337cd64612df6b4c2696ee28
CRs-Fixed: 3169912
2022-04-21 05:57:11 -07:00
Sheenam Monga
6443e967f5 qcacld-3.0: Update doc for new pcl types and order
Update doc for SBS related pcl_channel_order to make
it more clear and add doc for new pcl types.

Change-Id: I3635cc664f9a004a07956d88d7d95b02e14947a3
CRs-Fixed: 3178476
2022-04-21 05:57:05 -07:00