Update LFR2 self reassoc failure processing:
1. remove lim_send_switch_chnl_params() from
lim_restore_pre_reassoc_state() when self reassoc failure
to avoid this race condition: one one hand host let FW do
restart, and on the other hand VDEV sm transition to stop
state. Otherwise VDEV sm cannot handle EV_START_RESP event
correcly.
2. register .mlme_vdev_sta_disconn_start callback with
cleanupTrigger eLIM_HOST_DISASSOC.
3. when self reassoc fail, notify reassoc failure reason
to CM SM so that CM SM can trigger CM_DISCONNECT_REQ, then
invoke .mlme_vdev_sta_disconn_start doing cleanup action.
Change-Id: Icb68202e9f72fcbe3e0e4d3e9006a65a73123692
CRs-Fixed: 3109987
Firmware doesn't expect any vdev commands from host while RSO stop
is happening. It sends a response to the RSO_STOP command once
it's done with cleanup. Host needs to run a timer after sending
RSO stop command to firmware and wait for a maximum of 6 seconds
for the response. Host can stop the timer and allow the commands
to firmware in the below cases,
1. RSO_STOP response with success status
2. RSO_STOP response with HO_FAIL status followed by
HO_FAIL event: Host needs to wait till HO_FAIL event is received
If firmware doesn't send any response in the 6 seconds wait, issue
a recovery to help to check the firmware state.
Also, set WMI_ROAM_SCAN_MODE_FLAG_REPORT_STATUS always when MLO is
supported while sending RSO_STOP to firmware. It's sent only
in case of wpa_supplicant disabled roaming currently.
Change-Id: I8182e60beb9288dba23cc72e978dc781c8ab1707
CRs-Fixed: 3106023
Currently moderate latency level is not used. Rename moderate
latency level to XR latency level to be used in XR applications.
Change-Id: Ia7f65c3565f6704b9571161aabefb3a8b47cce1e
CRs-Fixed: 3116839
Currently regulatory channels are disabled for
QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY_EXT vendor command
event if ini coex_unsafe_chan_nb_user_prefer is not set and if
STA operates on disabled channels which results in crash for
STA interface in STA + SAP SCC case.
Hence coex_unsafe_chan_reg_disable ini is controlled based
on coex_unsafe_chan_nb_user_prefer.
Ini behavior summary:
|----------------|----------------------|-------------|--------------------------------|
|User prefer ini | Reg chan disable ini | PLs | Expectation |
| | | | |
|----------------|----------------------|-------------|--------------------------------|
| 1 | 1 | LE | accept freq ext command and |
| | | | disable the regulatory channel|
|----------------|----------------------|-------------|--------------------------------|
| 0 | 0 | Non-Pixel SP| reject freq ext cmd driver and |
| | | | returns NOT SUPP |
|----------------|----------------------|-------------|--------------------------------|
| 1 | 0 | Pixel SP | accept freq ext command and |
| | | | Don't disable the reg channels|
|----------------|----------------------|-------------|--------------------------------|
Change-Id: Ia3acbc133cab4865d8ad69992e893be91439f856
CRs-Fixed: 3128908
Before MLO sta partner link is up, FW can't indicate CSA event to host.
For this case, host need save csa parameters and process it when MLO
sta partner link is up.
Change-Id: I543c5e1069af5b1e88c6619364a7a44330134d2c
CRs-Fixed: 3082437
Update latency flags inis to 64-bit configuration and use
lower 32-bit for firmware configuration and upper 32-bit
as host configuration. Also remove separate inis for host
latency flags.
Change-Id: Iff62b847f40ae7fa5f82948ec37d756144860474
CRs-Fixed: 3115853
TWT initialisation will fail for each non 11ax connection
so an error log is not needed if peer object for TWT is not found.
Also, RIC data is not mandatory in FT session, so if its not
present, log a debug level print instead of error level.
Change-Id: I7fec9f88aa68b2ae947e34a1aede311e9fed2d05
CRs-Fixed: 3117535
Intersecting EHT beamforming configuration from ini and FW
indication, then save it to eht caps of mlme.
For sta, update mlme EHT beamforming configuration to FW
through WMI_VDEV_PARAM_SET_EHT_MU_MODE directly.
For ap, intersecting mlme EHT beamforming configuration and user
configuration, then send result to FW.
Change-Id: I3d6185896af9fc58eb1fb6db913d4a425f72c696
CRs-Fixed: 3113235
Currently coex unsafe freq event is honored from firmware using
"wmi_wlan_freq_avoid_event_id".
As per requirement, add ini to don't honor coex unsafe freq
event from firmware and use the coex unsafe freq list from
vendor QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY_EXT.
Change-Id: Ia3acbc133cab4865d8ad69992e893be91439f705
CRs-Fixed: 3114742
For MLO Roaming,
- RSO offload commands will be sent
to FW only on assoc vdev.
- Add new state for link vdev, will be
used only during roam sync.
Link vdev RSO state change : DEINIT -> MLO_ROAM_SYNCH -> DEINIT.
Change-Id: Ifb89e23fc48356ec8f0bc6a045f2dd4d81038076
CRs-Fixed: 3098570
Currently in SAP mode, when host driver receives disconnect for
station, first it gets disconnect stats with serialization command
and then it sends delete peer command to fw. There is an issue with
this approach, if there are maximum number of clients are connected
to a SAP and all of these clients gets disconnected at the same
time, in that case there will be a disconnect stats command and
peer delete command in serialization, because of which serialization
queue gets full.
To address this issue, remove disconnect stats command from
serialization and send this command just before sending peer
delete command once peer delete command gets serialized.
Change-Id: I2fa1a5a393939eebbce796e11348fa7c040b40e8
CRs-Fixed: 3100914
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
Besides MLO, legacy mode 6G SAP + 5G(2G) SAP are going to support RNR
IE. Move RNR related flag from MLO to private mlme component.
Remove mlo_rnr_updated in struct mlo_link_ie_info.
Add notify_co_located_ap_upt_rnr and related API in mlme_legacy_priv.
Change-Id: Ife86d1ed2fe8b633f6167750053b2aff37911299
CRs-Fixed: 3092483
Handle SAP and MLO STA concurrency such as:
1) If MLO STA is present with both links
in 5/6 Ghz then SAP comes up on 2.4 Ghz,
then Disable one of the links.
2) If there is channel switch for sap from
2.4 ghz to 5 ghz, then enable both the
links as they were disabled by previous
operations when sap was on 2.4 ghz.
3) If MLO STA is present with both links in
5/6 Ghz and SAP, which was present on
2.4 ghz, stops then renable both the as
one of the links were disabled because
of sap on 2.4 ghz.
Also, in case where MLO STA roamed from
5 + 6 link to 2.4 + 5/6 link force scc
will happen and the disabled link has
to be enabled.
Both links should only be enabled if mlo
sta has more than one links.
Change-Id: I0fd0093b20336ae32325981589c399b44a44b64e
CRs-Fixed: 3092202
Add INI - mgmt_frame_hw_tx_retry_count to configure MGMT
frame HW tx retry count for certain frame types.
The INI String format:
frame_hw_tx_retry_count="<frame type>,<retry count>,..."
The supported frame types are defined by enum mlme_cfg_frame_type.
Retry count max value is 127.
For example:
mgmt_frame_hw_tx_retry_count="0,64,2,32"
The above input string means:
For p2p go negotiation request fame, hw retry count 64
For p2p provision discovery request, hw retry count 32
Change-Id: I32f6c7d83ede9b28484c7a0b29824bde32e06422
CRs-Fixed: 3082532
Add ini support for tx_retry_multiplier and send
tx_retry_multiplier to fw as PDEV_STATS_TX_XRETRY_EXT
pdev param, so that fw can multiply the counter by the
percentage provided by user.
Change-Id: Ie2f06dc3aaa4a161a451b68abd085cc1537eb468
CRs-Fixed: 3066799
Add new vendor command to enable the roam events stats from the
driver/FW in both resume and suspend mode.
New roam param is introduced to indicate the FW to enable/disable
the roam stats using the new roam set command.
Change-Id: I6d04f0946e6735613a4cf3d4361bf31052314fa0
CRs-Fixed: 3036518
When a sta is being steered, sending a deauth may interrupt the
association/EAPOL handshake on the new BSS.
Do not kickout sta if it is being steered.
Change-Id: I15dd26bca27699087cdb790de8cb95281dade385
CRs-Fixed: 3042990
Host sends the EXT CAP IE based on the capability
coming from the supplicant in join request. But, after
roaming the cached join request will be freed. Therefore,
after roaming few capabilities sent by the userspace are
not saved and therefore lost in reassoc request.
Save the EXT CAP IE from the join request in the VDEV
and use the cached capability for sending Ext cap IE.
Change-Id: I71947388b4c6e9e56a5832557416d9b462de70e2
CRs-Fixed: 3038496
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
wma to target_if convergence code is guarded under the feature
flag ROAM_TARGET_IF_CONVERGENCE and it's is enabled currently.
Remove the flag usage and remove the deprecated code(else part)
also.
Change-Id: I6973d9c366ec6a9c6164dd19f6f4775dd3ebf5f0
CRs-Fixed: 3049942
After mac randomization, the change interface causes
the WTC mode to be reset as part of the hdd_init_station_mode()
Initialize the WTC mode during start modules as part
of the mlme component cfg values population.
Change-Id: I4a57c29053f0100c14cef067952d49cecbdc8ea5
CRs-Fixed: 3047594
There are duplicate macros for the same purpose, hence
replace WLAN_ALL_SESSIONS_DIALOG_ID with TWT_ALL_SESSIONS_DIALOG_ID.
Change-Id: I63130869eed8dffcce85fe6a04586592ab3eaca2
CRs-Fixed: 3047686
Update operational rates set, extended operational rates set
and MCS based rates set in VDEV MLME legacy priv object on
connect success.
Refine the APIs for fetching these rates.
Change-Id: I7697b3d2e26e2fc565a2e672afe19f255af89d7e
CRs-Fixed: 3044036
Add ini configuration to limit supported TX/RX HE MCS rates.
In case of XR use-case, higher throughput is not needed but
higher reliability is expected. So, this ini provide option to
limit HE MCS rate capability to MCS0-7 to achieve higher reliability.
Change-Id: Id6343f5b28d341e5ee377d11ad8420e3b8ded6ef
CRs-Fixed: 3033342
Restrict the dequeue logic to send only 20 logs per second
to userspace. Add check to see if queue is empty before
trying to dequeue.
Change-Id: I778556c649d123718cf76c943c5b2ed7f6c6e8e5
CRs-Fixed: 3014554
Add new files for connect/roam logging. Add changes to
initialize the logging buffer.
Make changes to support enqueue/dequeue log.
Define enums for MAIN_TAG, Sub TAG, category.
Add structure definitions for logging buffer.
Change-Id: I1d283fcf464da90d4f5533214d480ddda156ec27
CRs-Fixed: 3013486
According to 11n CERT case - 4.2.44 AP WAP/WPA2 mixed security mode
test, AP works in HT mode, but driver disallow the 11n when TKIP
cipher present and switch to "A" mode, then no HT IE in Beacon.
Fix by check TKIP only cipher and other ciphter present(CCM)
to disable allow 11n.
Change-Id: Ia915c9aa45bef93a22b5f43004e533cc87978752
CRs-Fixed: 3033301
Currently the PS config received from kernel/userspace is set
to mac_ctx globally. This causes PS config set for one vdev to
override on the other vdev.
To avoid this, set the PS config per vdev.
Change-Id: I6a2e2a9d8fb67b94d9d5f1d4164077990bdaf4a5
CRs-Fixed: 3007060
Currently, the WLM mode could be recovered after disconnection
or interface down/up about random MAC feature. Since some OEMs
have different mechanisms to config WLM mode on their framework
implementation and don't expect recovering the WLM mode.
So add logic to set default WLM mode when disconnection happens.
And add ini wlm_latency_reset_on_disconnect to differentiate
the implementation in driver. By default
wlm_latency_reset_on_disconnect is false.
Change-Id: Idcb3baf6ab8f0533eb01c28ff1c12513f9995946
CRs-Fixed: 3006875
When TSPEC session is deleted, the access category of the data packets
should be downgraded to next lower AC. But this is not happening due to
acm mask is not getting updated when bss descriptor is NULL.
To fix this ssue, update acm mask from bss descriptor only when beacon
IEs are not present.
Also move qos related logic to LIM and bring missig changes which were
there before connection manager.
Change-Id: I9da80cf492b01762b4cc0a7b73271a0f5fe4b4a4
CRs-Fixed: 3011069
Peer addba request is rejected when reject_addba_req is set from
ini or vendor command.
Current reject_addba_req ini is replacing with gRxAggregationSize
when it is set 1 from ini.
Hence this reverts commit I80a4b78c1af77f5bfa68be3163f9e9a78cc64245.
Change-Id: I1cc57b88311da4dd8f26eade17072aaa1f0ebb59
CRs-Fixed: 3002204
Currently, the SAE authentication request retry happens
after a fixed timeout of 1 second in a STA DUT.
To make this timeout user configurable, add an INI to
configure SAE auth failure timeout.
Change-Id: I3a3944ab14564a944e0c83cc31a92847b5e8c5e0
CRs-Fixed: 3011892
Based on new requirement, add aliasing for gNeighborLookupThreshold
ini and update the range of this ini as well.
Change-Id: I0a62e209d6a62001d6aec48849c4900062ae5bc7
CRs-Fixed: 3011060
Save dual sta configuration in hdd context and
restore it after SSR. This allows driver STA + STA
connection in MCC/SCC.
Change-Id: Ia8bb8c845f0f76e7ce41ff32ab0a3bc6d5111018
CRs-Fixed: 2998225
Currently, wmi_roam_event_id data is extracted and processing is
also done in wma. This is not inline with component model where
target_if takes care of data extraction and handover the extracted
data to corresponding component(connection mgr in this case).
Add changes to support the same. As the legacy CSR/LIM is not
yet converged, have a wrapper from connection mgr to wma to call
these legacy APIs.
Change-Id: I0e22bbccfe21200b90771a01f9ee7454f4ecb119
CRs-Fixed: 2990355
Use wlan_cm_is_vdev_roaming() API in wma, instead of
wma->interfaces[vdev_id].roaming_in_progress.
Change-Id: Icb88246b2c45c052a1d42dece4983b1e534fe608
CRs-Fixed: 2993180
csr has a mac address field which is redundant, the same can be
retrieved from the vdev object.
Hence remove the mac address field from the csr and update the same
from the vdev object.
Change-Id: I948cf858ddb26795e236aa4099186e5d10f504a6
CRs-Fixed: 2990480
Add support to enable the "FT over DS" via
QCA_WLAN_VENDOR_ATTR_CONFIG_FT_OVER_DS vendor config
command.
This configuration helps the firmware to support
“FT over DS” instead of “FT over Air”
Change-Id: I493bf15f83bc39135aaeefa9d8ef328f0fc0cda3
CRs-Fixed: 2968680
Change ini type of all ini related to edca_ani, edca_wme,
edca_etsi. Also, use cfg_get instead of cfg_default for
fetching these.
Change-Id: Iba252f81d236c5b217e1d86c6511bbc52c2900b7
CRs-Fixed: 2952537
Station sends the BA and upgrades to the next possible BA window
size upon receiving all frames successfully from the current
window. Some IOT APs go out of sync from BA window size of the
station when AP fails to receive the BA sent from station. AP
transmits the frames again with previous window sequence number
and won't be ack'ed by station hardware as BA window has already
moved ahead. So, station deletes the upgraded BA and tries
to fallback.
Ideally, AP is supposed to consider the fact that "the previous
window transmission was successful when station upgrades to next
window size". But some APs take little longer time to
recover/upgrade to next window size. Don't delete the BA
immediately and have some tolerance(3 seconds) as the previous
negotiated BA just got deleted.
Change-Id: I6b277223f02dac521316cec20bd5d958785cc2e9
CRs-Fixed: 2970714
Currently only default values of local edca params are used for
WME and ETSI profiles. Therefore expose them as INI config options
so that driver is able to parse user configured edca params used
locally by SAP.
Change-Id: I81759570160a67e26f68501576d71a5fd3568cd7
CRs-Fixed: 2976143