Add check to determine whether FW support multipass
SAP before enabling multipass support
Change-Id: I7db5a7bad6b9ac89c8c4e7c4c177695671402657
CRs-Fixed: 3515310
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
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
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
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
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
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
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
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
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
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
With this change add support for new ini ConDTIMSkipping_MaxTime
to set max modulated DTIM in ms.
Change-Id: I89ce2b5074ce75a1701365b5d09d8ed0244aeeef
CRs-Fixed: 3038346
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
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
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
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
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
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
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
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
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
Cleanup WMA HWMODE and WMA HWMODE List
as the same functionality is already taken
care by policy manager
Change-Id: I5dc1342422e70737111f882013ed3a6351a85336
CRs-Fixed: 3064739
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
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
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
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
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
Use wlan_cm_is_vdev_roaming() API in wma, instead of
wma->interfaces[vdev_id].roaming_in_progress.
Change-Id: Icb88246b2c45c052a1d42dece4983b1e534fe608
CRs-Fixed: 2993180
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
Add DP reason code support for sending DELBA request,
so protocol layer can make decisions for special cases.
Change-Id: I4eeba3513820a98a15682190e40a06ce178d9441
CRs-Fixed: 2983544
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
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
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
The delay before vdev stop is a global config,
no need to set for each interface separately.
Change-Id: I5760cf083a6749bb82cc88635a947f1d18308dfe
CRs-Fixed: 2904748
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
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
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