Commit Graph

493 Commits

Author SHA1 Message Date
Vijay Raj
cb03ca8b08 qcacld-3.0: Add FW capability check for Multipass SAP
Add check to determine whether FW support multipass
SAP before enabling multipass support

Change-Id: I7db5a7bad6b9ac89c8c4e7c4c177695671402657
CRs-Fixed: 3515310
2023-06-08 20:46:06 -07:00
Surabhi Vishnoi
704dbe521a qcacld-3.0: Remove wait for sta_authorised_event from FW
Firmware do not send WMI_PEER_STATE_CHANGE_EVENTID when WMI_PEER_AUTHORIZE
peer param is sent from host on peer. Host waits for this event from
firmware for 10ms and then times out. This leads to unnecessary delay of
atleast 10ms in enabling the TX queues every time after connection and
roaming.

So this change cleans up the existing handling of WMI_PEER_STATE_EVENTID
and removes wait for sta_authorised_event. This will improve the latency
in enabling the queues from host.

Change-Id: Iaf54d8298dab3cd47ad4779ec9ee11dc8f0bad0d
CRs-Fixed: 3436763
2023-04-04 16:30:09 -07:00
Jeff Johnson
93614c8de6 qcacld-3.0: Remove WMA_LRO_CONFIG_CMD
The logic that invoked wma_lro_init() was removed by the patch:
  qcacld-3.0: Code cleanup from HDD module
  Change-Id If5f1cf432b5c02848202debee7de696b2f20be9a

Since this function is no longer used, remove it.

That removes the logic which used to send the WMA_LRO_CONFIG_CMD
command.  Since that command is no longer used, also remove the
command handler, wma_lro_config_cmd(), along with the command
definition itself.

Change-Id: I1416d8c635a908d33cc41046ffd0ff63837dae99
CRs-Fixed: 3424790
2023-03-07 05:06:58 -08:00
Jeff Johnson
4ba54fa109 qcacld-3.0: Remove wma_fill_in_wapi_key_params()
The following change removed most of the legacy crypto code following
the transition to the converged crypto component:
    qcacld-3.0: Cleanup CRYPTO_SET_KEY_CONVERGED for WMA layer
    Change-Id If70fc5cb01f2a0123030c92410e126ce8078e1c6

This change removed wma_setup_install_key_cmd(), but left behind the
now unused function wma_fill_in_wapi_key_params() that it used to call
when FEATURE_WLAN_WAPI was enabled.

So remove the unused function, along with struct wma_set_key_params
which is now unused as well.

Change-Id: Ie16d6ce20d8f5f99ef1c625b34bea3685d3d8029
CRs-Fixed: 3424774
2023-03-06 16:00:01 -08:00
Jeff Johnson
274e7c9ce7 qcacld-3.0: Remove t_wma_handle::ocb_config_req
The follow change removed all usage of the t_wma_handle ocb_config_req
member:
  qcacld-3.0: Clean up OCB legacy code
  Change-Id Ib8a26c9e67e78e53f8b2b4929276060687254ea1

However the member itself was not removed, so remove it now.

Change-Id: Id61a2575b9e7d447bb88133322fae9aa7ef33cb5
CRs-Fixed: 3424783
2023-03-06 13:27:21 -08:00
Vinod Kumar Pirla
ee1d5461d9 qcacld-3.0: Remove ML BSS peer before join request
The reference taken for objmgr peer during ML peer
context creation is not released if any validation
has failed in pe_session initialization. The call
to directly remove objmgr is initiated without a
call to detach ML peer. This leads to reference
leak for the peer.

If lim_fill_session_params() API returns error,
wma_remove_bss_peer_before_join() API is called
to cleanup the peer objmgr. Call API corresponding
to MLO peer detach in this function to release
the MLO_MGR reference.

Change-Id: I010150b4aefe9f076455cd5aafb1c3b55155458b
CRs-Fixed: 3405762
2023-03-01 10:29:21 -08:00
Divyajyothi Goparaju
fb1635c5c2 qcacld-3.0: Update copyright year
with recent host change
"Trigger SSR on wakeup from pagefault"
missed to update copyright year for some files

This change will update that missed copyright
year to 2023.

Change-Id: I1b2972e824b21e70c697bf819ee34312946aed6b
CRs-Fixed: 3387893
2023-02-05 01:17:54 -08:00
Ashish Kumar Dhanotiya
21ec244877 qcacld-3.0: Trigger SSR on wakeup from pagefault
According to new requirement, use INIs
max_pagefault_wakeups_for_ssr,
interval_for_pagefault_wakeup_counts and
ssr_frequency_on_pagefault
to trigger SSR if host wakes up because of pagefault.
For ex: If max_pagefault_wakeups_for_ssr = 30,
interval_for_pagefault_wakeup_counts = 180000 (3 mins) and
ssr_frequency_on_pagefault = 3600000 (1hr), in this case host
will trigger the SSR if it receives 30 wakeups because of
pagefaults in 3 mins, host will trigger SSR only once in 1 hr.
Once the SSR is triggered, host will not trigger next SSR for
next 1 hr even if it receives 30 wakeups from fw because of
pagefaults. This 1 hr time is getting monitored from last SSR.

Change-Id: Ia06f87aff6d1552e37c582e7464f1b2451543502
CRs-Fixed: 3378502
2023-01-17 07:33:48 -08:00
Divyajyothi Goparaju
e62e4f2ccb qcacld-3.0: Replace target params with host params
Currently host uses target params directly
which leads to layering violation

Replace target wmi pdev/vdev params with host wmi
pdev/vdev params in host to fix existing broken layering
violation.

Change-Id: Ifdfbc3151a1d81466c768e4d016a8f70971d651e
CRs-Fixed: 3333879
2022-12-30 00:07:13 -08:00
Surya Prakash Sivaraj
ae712fa3de qcacld-3.0: Add support for cross-SAE AKM roam
Pass the akm explicitly in the external auth
request to the userspace since there are many
SAE AKM suites.

Change-Id: Ifef8657f7ef75b402aa670813eba6adc5ab9853a
CRs-Fixed: 3355395
2022-12-29 05:19:08 -08:00
Arun Kumar Khandavalli
6d5ce1983d qcacld-3.0: reject client if the peer is present same ml address
Host/fw doesn't support the ml peers or legacy peers with same
mac address, So reject the client with the same link address or
mld address as one of the ml or legacy peers in the system.

Change-Id: I5f625e06c1f3832739d0424e1567a9957037fef8
CRs-Fixed: 3344809
2022-12-07 05:50:06 -08:00
Jeff Johnson
09ce6ae175 qcacld-3.0: core: wma: Fix misspellings
Fix misspellings in core/wma/...

Change-Id: Ie335a23b85dac4ee5670704a9e3c2eb07f511cfc
CRs-Fixed: 3303623
2022-10-03 00:19:18 -07:00
Jeff Johnson
95eb68913f qcacld-3.0: Rename wma_txrx_node::is_del_sta_defered
Rename is_del_sta_defered to is_del_sta_deferred to fix misspelling:
defered ==> deferred.

Change-Id: If4ee31ddc9352fae367b99baffde56233857a64f
CRs-Fixed: 3281817
2022-09-27 14:58:13 -07:00
Jeff Johnson
c5b6befd72 qcacld-3.0: Fix misspellings of "capability" and "capabilities"
Fix misspellings of "capability" and "capabilities":
capabiities ==> capabilities
capabilites ==> capabilities
capabilties ==> capabilities
capabilty ==> capability
capablities ==> capabilities
capablity ==> capability

Change-Id: Ie4f14088fb86b63e3ee985c004f82d73d2c73963
CRs-Fixed: 3274606
2022-08-29 19:09:04 -07:00
Pragaspathi Thilagaraj
832fee1036 qcacld-3.0: Refine PASN peer delete all & pasn auth status path
Refine PASN peer delete all path, to post message to
scheduler thread to process the peer delete all
message for PASN peers. Handle response timeout in WMA.
Resume vdev deletion after removing pasn peers

Add vendor command support to parse below vendor commands:
QCA_NL80211_VENDOR_SUBCMD_PASN
QCA_NL80211_VENDOR_SUBCMD_SECURE_RANGING_CONTEXT

Send install key command to firmware to install the
PTK upon receiving
QCA_NL80211_VENDOR_SUBCMD_SECURE_RANGING_CONTEXT
vendor command. If LTF keyseed is also received,
send the LTF keyseed to firmware.

Sent PASN auth status to firmware upon receiving
QCA_NL80211_VENDOR_SUBCMD_PASN command.

Change-Id: Idc9c69f7288b0774cc6d9bdcfed13ba3684bbc72
CRs-Fixed: 3231205
2022-07-14 04:12:30 -07:00
Pragaspathi Thilagaraj
e33def8324 qcacld-3.0: Add support to create ranging peer
Add support to send ranging peer create command from WMA

Change-Id: I67966983b157efaecaad7209b679483f010e84a5
CRs-Fixed: 3150075
2022-07-07 17:46:28 -07:00
Ashish
aa31fd94c1 qcacld-3.0: Add support for new config item ConDTIMSkipping_MaxTime
With this change add support for new ini ConDTIMSkipping_MaxTime
to set max modulated DTIM in ms.

Change-Id: I89ce2b5074ce75a1701365b5d09d8ed0244aeeef
CRs-Fixed: 3038346
2022-06-01 01:44:51 -07:00
Surabhi Vishnoi
d912895695 qcacld-3.0: Acquire wakelock during roaming if key installation is pending
Currently, wakelock is only taken during initial connection if
pairwise key installation is pending and not during roaming. This
may lead to EAPOL delay/timeout during roaming as runtime pm and
suspend is allowed during roaming. To fix this issue, acquire
wakelock if key installation is pending during roaming.

This change also refactors the code and release the wakelock in
wma_remove_peer if EAPOL fails during initial connection or roaming.

Change-Id: Id4cac30b3c383ca3d3e963571846f8a30eaa1006
CRs-Fixed: 3189799
2022-05-26 13:33:57 -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
Rachit Kankane
95c7d2ecf8 qcacld-3.0: Add peer ops support for SON
Add support for below SON peer ops:

PEER_SET_KICKOUT
PEER_SET_EXT_STATS
PEER_REQ_INST_STAT
PEER_GET_MAX_MCS

Change-Id: Iafadd17d6a13cfbba2884e50a0432c34115cd7f7
CRs-Fixed: 3141862
2022-03-07 19:07:52 -08:00
Amruta Kulkarni
586338bcff qcacld-3.0: MLO roaming handling
CM, PE and WMA changes for mlo roaming
- Roam start and roam sync propogation updates.
- Handling connected link bitmap.
- Link specific assoc response generation
- WMA changes to handle add/remove peer
for mlo roaming scenarios.

Change-Id: I365a26ebb761d93dadd33c9fb8248c28e9eda94b
CRs-Fixed: 3033766
2022-01-19 15:30:15 -08:00
Liangwei Dong
b92a4f7f7b qcacld-3.0: Handle bss peer delete before vdev start
Delete the BSS peer if failure happens before STA "Join"
and wait for peer delete event.
After peer delete event is received, send lim_cm_send_connect_rsp
to CM to continue the next candidate try.
This is to avoid previous bss peer deleting pending and send
new bss peer create wmi command to target, which is unexpected
by target.

Change-Id: I5da969546994d9a6fe3cd5053f468fb59ba13e18
CRs-Fixed: 3100305
2021-12-27 23:39:32 -08:00
Bapiraju Alla
0de141916d qcacld-3.0: Add support to dynamic MAC address update
Currently, MAC address update is supported only when interface is down.
Because of this framework needs to issue interface down and interface
up to update the MAC address. Interface down and up will lead to VDEV
delete and VDEV create commands to the FW.

To optimize Host-FW interactions during set MAC address, add support
to update the MAC address without bringing the interface to down state.

Change-Id: I76afa8f8c2504e8271bf689392d526f994afff0a
CRs-Fixed: 3063201
2021-12-27 20:58:55 -08:00
Jianmin Zhu
fb4cf93504 qcacld-3.0: Fix peer rx tid queue not set up after roaming
After roaming, old peer is deleted and new peer is created,
rx tid queue of new peer need set up again.
In dp_rx_tid_setup_wifi3, if CM is in ROAMING state,
dp_peer_rx_reorder_queue_setup isn't called, REO queue descriptor
isn't configured correctly by host for FW to do reorder/pn check.

To fix it, in dp_rx_tid_setup_wifi3, if CM is in ROAMING state
and not ROAM_START substate, but ROAM SYNC state after roam sync
event received, dp_peer_rx_reorder_queue_setup still can be called,
rx tid queue of new peer will be set up.

Change-Id: I34fbb60ad509a0bc70e112c7ec53a862c8f9ce2d
CRs-Fixed: 3090061
2021-12-17 11:06:30 -08:00
Arun Kumar Khandavalli
f61a0e0cea qcacld-3.0: Cache set HW mode response status
Currently, Host is not caching the response status for the set HW mode
request. Without this status, it is difficult to debug HW mode mismatch
between host and FW when the logs are not available during the set HW
mode command.

To address this, cache the set HW mode response status.

Change-Id: I61b935d54648bc80901bfe7127227ffaa8d7cd7b
CRs-Fixed: 3076445
2021-11-23 18:17:34 -08:00
Arun Kumar Khandavalli
cc3837f0db qcacld-3.0: use wmi macro to check for max supported unit test args
Instead of the wma macro use the wmi macro to validate the max
supported arguments for the unit test command.

Change-Id: Ia6b8e5a57f3f1d4ca14efddd8c16ff5d7931cad8
CRs-Fixed: 3070809
2021-11-18 08:24:14 -08:00
Utkarsh Bhatnagar
40d0e1ae42 qcacld-3.0: Cleanup WMA HWMODE
Cleanup WMA HWMODE and WMA HWMODE List
as the same functionality is already taken
care by policy manager

Change-Id: I5dc1342422e70737111f882013ed3a6351a85336
CRs-Fixed: 3064739
2021-11-05 02:34:33 -07:00
Pragaspathi Thilagaraj
c304893863 qcacld-3.0: Enable time sync only on connection/roam
Currently WMI_DBGLOG_TIME_STAMP_SYNC_CMDID command sent
every 1 sec causes RTPM collapse and inturn has power
impact. So to avoid this enable time of the day synchronization
only after connection/roaming.

Send WMI_DBGLOG_TIME_STAMP_SYNC_CMDID as part of RSO
start command.

Change-Id: Iee3cefe1318a6e5507a43cefb9666cc2a439fe06
CRs-Fixed: 3060762
2021-10-22 12:40:33 -07:00
Alan Chen
ba84e38bc2 qcacld-3.0: Define a new RTPM wake lock for NDP
Define a new RTPM wake lock for NDP and create the functions
wma_ndp_prevent_runtime_pm()/wma_ndp_allow_runtime_pm() for it.

Change-Id: I6e70065b8c1ce3c91c411638957e13efff5a64ba
CRs-Fixed: 3050943
2021-10-05 21:48:48 -07:00
Pragaspathi Thilagaraj
5e4b2f49ad qcacld-3.0: Fill and send connectivity logging management frame events
Fill the management frame data and enqueue the filled record to the logging
queue.
Frame sequence number, peer rssi, tx_status, authentiation algo,
authentication frame transaction sequence number will be filled to the
log record.

Change-Id: I069b7816fdc52eeed964d6586c52b58d1a5d5cd4
CRs-Fixed: 3030075
2021-09-26 04:49:44 -07:00
Ashish Kumar Dhanotiya
8215f877a9 qcacld-3.0: Process radio stats events inside lock
Currently host driver processes radio stats events with
scheduler thread without any lock and invokes hdd callback.
In hdd these stats gets handled in user space thread and after
processing stats, user space thread frees the memory allocated
in wma. Since one thread allocates the memory and other
thread frees the memory, this can lead to race conditions where
this memory might not get freed and mem leak can happen.

With this change add locking mechanism to allocate, use and to
free the memory.

Change-Id: I95906133bb2208a258c5cec16f4f01b1321ed0c2
CRs-Fixed: 3020218
2021-09-06 06:20:54 -07:00
Amruta Kulkarni
c71017d971 qcacld-3.0: Roam sync event migration
Wma to target_if migration for ROAM SYNC EVENT

Change-Id: Id2e9d5697f12f709cfdd665dabf1095863d87277
CRs-Fixed: 2990767
2021-08-07 02:58:54 -07:00
bings
bebd7a8b45 qcacld-3.0: Pass mld address and assoc link info when creating bss peer
MLO sta needs mld mac and assoc link information to create bss peer
Get mld address and assoc link info from connection manager and pass
it to bss peer creation

Change-Id: Ie04d4eb01f1a039f068b32b6c53aa3e65c919518
CRs-Fixed: 2987483
2021-08-05 15:13:13 -07:00
Utkarsh Bhatnagar
91d6eaf0fd qcacld-3.0: Use wlan_cm_is_vdev_roaming() API in wma
Use wlan_cm_is_vdev_roaming() API in wma, instead of
wma->interfaces[vdev_id].roaming_in_progress.

Change-Id: Icb88246b2c45c052a1d42dece4983b1e534fe608
CRs-Fixed: 2993180
2021-07-23 18:01:40 -07:00
Rajeev Kumar
d0ab865de3 qcacld-3.0: Add wakelock for max clients connected for sap d3 wow
Due to memory limitations, FW only allows SAP clients connected D3 wow
up to 8 clients. Hence, add a wakelock on host. Once the 9th client
joins, hold the wakelock. And release the wakelock when the 9th client
leaves.

Change-Id: I940ab50bfd216452248eed71c1fb02b625354f7b
CRs-Fixed: 2986286
2021-07-14 17:53:39 -07:00
Amruta Kulkarni
0c30cb8f04 qcacld-3.0: Roam sync frame event Wma cleanup
Wma to target_if migration for ROAM SYNC FRAME EVENT

Change-Id: I2a56dadf7f45a13a577bdf49bc9514ab2e6dee29
CRs-Fixed: 2968404
2021-07-12 19:12:01 -07:00
Vevek Venkatesan
14d84bf050 qcacld-3.0: add DP reason code support for send_delba
Add DP reason code support for sending DELBA request,
so protocol layer can make decisions for special cases.

Change-Id: I4eeba3513820a98a15682190e40a06ce178d9441
CRs-Fixed: 2983544
2021-07-06 02:15:43 -07:00
Abhishek Singh
046eb026ea qcacld-3.0: Code cleanup for connection manager in LIM/WMA
Remove unused code related to ndef FEATURE_CM_ENABLE in LIM/WMA.

Change-Id: I1697f0a6c9102e3b70ce6f7a1c78ea895d4d160b
CRs-Fixed: 2977902
2021-06-28 12:24:29 -07:00
Utkarsh Bhatnagar
d6a03bf7e0 qcacld-3.0: Refactor LFR3 code to use cm api
Refactor csr_roam_pmkid_req_callback to use
mlme_cm_osif_pmksa_candidate_notify and move other
unused API under CM flag.

Change-Id: I835d54804f733eddff48de38e4c545a87f34bb30
CRs-Fixed: 2965602
2021-06-10 10:21:35 -07:00
Arun Kumar Khandavalli
add1f46a2b qcacld-3.0: Remove obselete wma_needShutdown code
wma_needShutdown related code is now obselete, during the cds_preenable
failure, this is obselete code is being invoked which is setting
wma->needShutdown. If the same is set the wma_close will not be
inokved resulting in the reference leak of of pdev object.

Remove obselete wma_needShutdown code.

Change-Id: Ia1463c9197593165eb5844e154f78fe3fe278fbd
CRs-Fixed: 2947133
2021-05-19 14:37:49 -07:00
Jia Ding
3644001a81 qcacld-3.0: Add 320MHz support in WMA layer
As part of 320MHz bandwidth support for 11BE, add 320MHz bandwidth
in WMA layer, where in particular set bw_320 to 1 in wma_send_peer_assoc
and populate ch_width to 320MHz in wma_update_channel_list.

Change-Id: I61793add8d86b0557bd4eed78233860e6ade1c18
CRs-Fixed: 2935851
2021-05-06 06:23:17 -07:00
bings
c9abaf71bb qcacld-3.0: Add wma layer 11BE api
Implement 11BE api in wma layer

Change-Id: I23c8fae9e27f972dadfe8a517954481de8f92de0
CRs-Fixed: 2912568
2021-04-19 13:32:07 -07:00
Yu Wang
ffbb93ace5 qcacld-3.0: remove delay_before_vdev_stop from wma_txrx_node
The delay before vdev stop is a global config,
no need to set for each interface separately.

Change-Id: I5760cf083a6749bb82cc88635a947f1d18308dfe
CRs-Fixed: 2904748
2021-04-06 18:42:57 -07:00
Amruta Kulkarni
15ac4a4e5a qcacld-3.0: Support roam sync indication in CM
Add change to support roam synch indication
in connection manager.

Change-Id: I06b23ae085a5a86caf4fe04fe5929b86d8d5c543
CRs-Fixed: 2901858
2021-03-24 09:47:46 -07:00
Pragaspathi Thilagaraj
58581e5b19 qcacld-3.0: Fix sending vdev start again during LFR-2.0 roaming
Currently peer create response support is added for connect path
but in LFR-2.0 case also peer create response received is
processed and lim_post_join_set_link_state_callback() is called
leading to sending vdev start again.
Call the API to fill peer create wma request only for initial
connection.

Change-Id: I24140efd5541f7ed4aa3cef9efebf5a729846902
CRs-Fixed: 2856636
2021-03-15 02:49:09 -07:00
gaurank kathpalia
a7a5ac82fc qcacld-3.0: Fill peer's unicast cipher from vdev during roaming
During roaming update the peer unicast cipher from vdev crypto params.

Change-Id: Ie5f8cb951c405b50c607d416f4c6e37446048257
CRs-Fixed: 2889865
2021-03-03 02:57:06 -08:00
Bapiraju Alla
9a02b15002 qcacld-3.0: Reduce console logging from tasklet
Currently, WoW wakeup host event is handled in tasklet context and
it is taking more than 800ms to execute. This is due to excessive
logging to the console from the tasklet. As a result of this, IRQs
are getting blocked during this tasklet execution.

To avoid this, add a sysfs entry to enable/disable console logging
from host wakeup event based on requirement.

Change-Id: If91a8bd5f783f358dabf9dcf46bf4c50d05d7909
CRs-Fixed: 2881972
2021-03-02 05:36:29 -08:00
Amruta Kulkarni
e4df806aa6 qcacld-3.0: Support roam invoke request in connection manager
Add change to support roam invoke request in connection manager

Change-Id: I87bd39263c7c210fa87250aca59ef5f2f89d4c67
CRs-Fixed: 2869211
2021-02-18 03:12:04 -08:00
Kiran Kumar Lokere
cb94b90521 qcacld-3.0: Add support for BSS max idle period feature
Add support to parse the BSS max idle period IE and configure
the idle period to FW if it is present in assoc response frame.

Change-Id: I144f2b1789775461a5df702dee72d0f73b9023cf
CRs-Fixed: 2788542
2021-02-02 21:05:15 -08:00
Alan Chen
beb98ec261 qcacld-3.0: Define a new wakelock for WPS probe request wakeup
Define a new wakelock for WPS probe request wakeup.

Change-Id: Idd39664dc70db4dd15594f77846b74c36049659c
CRs-Fixed: 2863611
2021-01-27 23:55:18 -08:00